분류 전체보기(168)
-
system_server broadcast hooking
system_server는 안드로이드에서 작동하는 프로세스로 init -> zygote -> system_server 순으로 구동됩니다. 여러가지 서비스 manager 역할을 하며 framework에 속한다고보면 됩니다.여기서 프로세스간 브로드캐스트를 잡을 수 있습니다. am/BroadcastQueue.java private final void processCurBroadcastLocked(BroadcastRecord r, ProcessRecord app) throws RemoteException { if (DEBUG_BROADCAST) Slog.v(TAG,... processCurBroadcastLocked() 함수에서 할 수 있는데 BroadcastRecord와 ProcessRecord에서 각각의 프..
2018.03.17 -
윈도우 공유폴더 및 널 세션 제거
윈도우 공유폴더에 대한 침해사고는 심각하게 보도된 적은 없지만 RDP 서비스를 이용한 공격 등의 악용 소지는 분명 있기 때문에 PC로 중요작업을 하신다면 관리해줄 필요가 있습니다. 우선 net share 명령어를 통해 어떤 공유폴더들이 있는지 확인해봤습니다. 공유폴더는 집에서 별로 사용하시는 분이 없을 것으로 보이고 특별히 관련 작업을 하지 않는 다면 삭제하는 것이 좋습니다. regedit을 실행하여 다음과 같은 경로로 이동합니다.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters해당 path를 보면 AutoShareWks라는 값이 있는데 이를 0으로 변경해줍니다. 만약 없다면 AutoShareWks를 생성하여 주셔도 ..
2017.10.29 -
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