Security ★ Development(154)
-
malloc - memset, null
malloc을 사용한 경우 free를 사용해 메모리를 해제하게 됩니다. 보통은 이것으로 충분하지만 좀 더 안전한 코딩을 위해서는 습관을 들이면 좋은 코딩이 있습니다. 개발을 할 때 디버깅을 하는 측면에서도 좋고 집요한 메모리 해킹에 대한 대비책이 될 수도 있습니다. malloc - free우선 malloc과 free만 사용한 경우입니다. calloc을 썼지만 크게 차이는 없고 윈도우환경에 비쥬얼 스튜디오 디폴트 설정, c파일입니다. free를 한 후에도 주소값은 그대로 확인이 가능하고 1 1 1 을 넣어뒀던 데이터는 읽을 수 없게 되었습니다. 이 글의 효율을 높이기 위해선 값도 그대로 읽을 수 있길 바랬는데 못 읽는군요. +리눅스에서 address sanitizer, kasan 등의 메모리 관리 옵션을 ..
2017.07.30 -
FHMQV
FHMQV는 키교환 프로토콜의 하나입니다. DH의 약점인 MITM에 대한 대비책으로 SAS, STS 등이 나왔고 MQV -> HMQV -> FHMQV 순으로 발전됐습니다. 정보를 찾아봤는데 논문만 몇개 나오고 제대로 설명이 되어있는 곳이 없더군요. 그래서 혹시 관심있는 분들께 도움이 되도록 정리한 내용입니다. MQV는 Menezes-Qu-Vanstone의 약자로 만든 사람들의 이름입니다. DH에 long term key를 결합한 방법인데 여기선 특별한 함수를 사용합니다.HMQV, FHMQV와의 차이의 핵심은 이 d와 e를 만드는 방식입니다. 아래가 MQV 프로토콜의 flow입니다. Alice와 Bob은 log term key P'를 갖고있습니다. w는 P'를 이용한 공개키와 개인키입니다. 서로 갖고, 알..
2016.10.30 -
Trustzone
Trsutzone과 관련된 모듈을 해야해서 간단히 정리했던 내용의 일부입니다. 1. 개요 Trustzone은 ARM processors에 탑재된 하드웨어 보안 기술로 confidentiality와 integrity protection을 보장할 수 있는 programmable environment를 제공하는데 목적이 있습니다. SoC 하드웨어와 소프트웨어를 secure world와 normal world로 분할함으로써 이루어지는데 NWd에서는 SWd의 자원에 접근하는 것을 불가능하게 할 수 있습니다. NWd와 SWd를 time-sliced 형식으로 실행하게 되는데 이 두 가지 virtual processors context는 monitor mode를 통해 스위치됩니다. Monitor mode는 secure..
2016.09.11 -
Cryptology 문제 2
http://codeengn.com/challenges/crypto/02 Problem : One programming guru left a crypto table and an encrypted text to one of his students and passed away. Unfortunately, the crypto table was kind of messed up... The malformed crypto table : g i a x ? ? d b k l n q w m f ? c p ? ? z u y j ? v Encrypted text : yefpsqfgt Find the original text and verify. 이번엔 테이블이 있습니다. 알파벳이 하나씩 있는 걸로 봐서 알파벳 26자의 순서..
2015.12.03 -
Cryptology 문제 1
http://codeengn.com/challenges/crypto/01 Problem : eqbpntwemza Find the original form of the string 암호학 문제입니다.첫 번째 문제는 주어진 문자열로부터 원래 값을 찾아내는거네요.그리고 암호문 단독 공격을 해야합니다. 알파벳 영문이 주어졌을 때 생각해볼만한 방식은 아트배쉬 방법입니다. 유명한 시저 암호화를 떠올려 3자리씩 옮겨봤지만 의미있는 문자열이 나오진 않습니다. 스키테일을 적용해 볼 수도 없고 무작정 아트배쉬 방식으로 진행해 볼 수 밖에 없습니다. 그럼 각 문자를 8자리 앞으로 옮겼을 때 withflowers라는 문자열이 나오고 이게 정답이 됩니다.
2015.12.03 -
Malware analysis 8
http://codeengn.com/challenges/malware/08 Problem : The following is the flow graph of a malware Find the address of the function responsible for the propagation(additional infection) of the malware. (Verify your solution in all uppercase) Ex) 00401000 보통 해킹은 한번에 악성 코드를 심어 모든 행위를 끝내고 종료하는게 아니라 단계별로 차근차근 악의적인 행동을 밟아 나갑니다. 웹사이트를 통한 악성 스크립트 실행 후 악성 파일 다운로드, 모바일 apk 설치 및 무선ap 접속을 경유한 방법 등 대부분이 그러한데 ..
2015.12.02