코드 난독화 프로그램 코드의 일부 또는 전체를 변경하는 방법 중 하나로, 코드의 가독성을 낮춰 *역공학에 대한 대비책을 제공한다. * 역공학 대부분의 개발자들은 컴파일된 바이너리를 완전한 블랙박스로 취급한다. 보안 취약점 분석가들의 주요 업무는 이런 바이너리 코드를 읽고 보안 취약점을 찾아내는 것이다. 보통 컴파일된 바이너리를 다시 원래의 소스코드로 복구하는 프로그램인 디컴파일러 ( decompiler ) 의 도움을 받는다. 디컴파일러는 원래 소스 코드를 완벽히 복구하지는 못하지만, 어셈블리에 비해서는 훨씬 이해하기 쉬운 프로그래밍 언어의 소스 코드를 생성해준다. 이처럼 바이너리 코드를 분석해 유용한 정보를 뽑아내는 작업을 역공학 ( reverse engineering ) 이라 부른다. 최근 보안 취약점..
PKI ( Public Key Infrastructure ) PKI 는 기본적으로 인터넷과 같이 안전이 보장되지 않은 공중망 사용자들이 신뢰할 수 있는 기관에서 부여된 한 쌍의 공개키와 개인키를 사용함으로써 안전하고 은밀하게 데이터나 자금을 교환할 수 있게 해준다. 공개한 의미는 수신자만 열쇠를 갖고 있는 자물쇠를 여러 사람에게 나눠주었다는 것을 의미한다. 즉, 자신에게 귀중품을 보낼 때 금고에 먼저 그것을 담고, 금고열쇠는 다시 자신만이 열 수 있는 자물쇠로 봉합해 보내라는 것이다. 데이터를 암호화하는 방법에는 공개키과 비밀키 방식이 있다. 비밀키 암호 시스템이 송수신자 양측에서 똑같은 비밀키를 공유하는데 반해 공개키는 암호화와 복호화가 다르기 때문에 데이터를 암호화하고 이를 다시 풀 수 있는 열쇠가 ..