암호화는 개방형 장치 (예 : PC, 태블릿 또는 스마트폰)에서 실행되는 응용프로그램에 점점 더 많이 적용되고 있습니다. 공격자가 실행 플랫폼과 소프트웨어 구현 자체를 완벽하게 제어할 수 있을 가능성이 많기 때문에 이러한 시스템의 개방성은 소프트웨어가 공격에 매우 취약하게 됩니다. 이는 공격자가 응용프로그램의 이진 코드와 해당 메모리 페이지를 실행하는 동안 쉽게 분석할 수 있음을 의미합니다. 침입자는 IDA Pro, 디버거, 에뮬레이터 등과 같은 모든 종류의 공격 도구를 사용하여 시스템 호출을 가로채서 바이너리와 그 실행을 변조할 수 있습니다. 이러한 공격 컨텍스트는 화이트 박스 공격 컨텍스트라고 합니다.
화이트 박스 암호화가 해결해야 할 과제는 화이트 박스 공격을 받을 때에도 암호화 자산이 안전하게 유지되는 방식으로 소프트웨어에서 암호화 알고리즘을 구현하는 것입니다. 따라서 화이트 박스 암호화 (WBC)는 모든 소프트웨어 보호 전략에서 필수적인 기술입니다. 이 기술을 사용하면 암호화 키와 같은 기밀 정보의 일부를 공개하지 않고도 암호화 작업을 수행할 수 있습니다. 이것이 없으면 공격자는 바이너리 (메모리) 에서 비밀 키를 쉽게 얻거나 실행시 공개로 이어지는 정보를 가로챌 수 있습니다.
WBC는 주어진 암호를 강력한 표현으로 바꾸는 특수 목적 코드 생성기로 볼 수 있습니다. 비밀 키의 조작이 임의의 데이터 및 코드와 결합되어 임의의 데이터를 키 정보와 구별 할 수 없게 합니다.
아래 그림은 고정 키 구현의 경우 WBC에 대한 개념적 상위 레벨 개요를 보여줍니다. 이러한 구현에서, 키는 코드에 하드코딩될 것입니다. 화이트 박스 변환은 코드에 포함된 키를 추출하기 어려운 애플리케이션의 코드를 생성하는 것입니다.
댓글 없음:
댓글 쓰기