ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [2022/03/08][짤막한 이야기 - 난독화 지표]
    짤막한 이야기 2022. 3. 8. 19:19
    728x90
    반응형

    [2022/03/08][짤막한 이야기 - 난독화 지표]
    난독화(Obfuscation)는 소스코드, 어셈블리어, 자료구조, 제어흐름 등 소프트웨어를 구성하는 요소를 이해하기 어렵게 변형시켜버리는 기술이다.
    소프트웨어 지적재산권 보호를 위하여 적용되지만, 악성코드를 보호할 수도 있기 때문에 난독화에 더불어 역난독화(Deobfuscation) 기술도 함께 연구되어야 한다.
    일전에도 난독화 기술로써 여러가지 구체적인 기술을 소개한 바 있었으며, 매우 강력한 보호 기능을 가지는 기술도 있다고 언급하였다.
    그러나 난독화도 결국 소프트웨어 보안의 한 갈래이기 때문에 “소프트웨어 보안의 안전성”을 “정량적 지표(이른바 수치화)”로 표현하기 어려운 것처럼,
    “난독화 기술의 보호 강도” 또한 “정량적 지표”로 표현하기 어렵기로 잘 알려져 있다.
    그럼에도 불구하고 최초로 난독화가 제안되었을 때에는 보호 강도를 “정성적 지표(이른바 비교)”로라도 표현하기 위한 움직임이 있었다.
    그것이 난독화 지표(Obfuscation Criteria)인데, 가장 대표적인 지표는 “모호성(Potency)”, “복원성(Resilience)”, “성능저하량(Cost)”의 3가지이다.
    “모호성”은 “프로그램(P)”과 그 프로그램을 난독화한 “난독화된 프로그램(P’)”을 “사람”이 보았을 때 상대적으로 더 분석하기 어려운 정도를 의미한다.
    “복원성”은  P와 P’을 “기계(컴퓨터)”가 보았을 때 상대적으로 더 분석하기 어려운 정도를 의미한다.
    “성능저하량”은 P와 P’을 비교하였을 때 상대적으로 성능이 저하되는 수준을 의미하며, 이 때 성능은 실행시간과 실행시 소모되는 메모리 등을 의미한다.
    사람이 분석하기 어려운 정도는 그 사람의 능력에 따라 다른 것이고, 기계가 분석하기 어려운 정도는 그 컴퓨터가 얼마나 많은 패턴을 빠르게 해독하고 복원하느냐에  따라 다른 것이기 때문에, 상대적으로 비교는 가능하지만 절대적으로 수치화하기는 어렵다.
    그렇기 때문에 대부분의 난독화 기술과 관련된 연구와 결과는 성능저하량을 기준으로 기여도를 내세우기 마련이지만, SW 보안을 위한 난독화라면 자신이 설계한 난독화 기술이 얼마나 안전한지에 대한 토론도 할 수 있어야 한다.
    최근에는 인공지능을 이용하여 난독화 기술이 해독(=역난독화) 될 때 까지 소요될 것 같은 시간을 예측하는 예측모델을 연구하고 있지만, 그 연구 결과는 아직도 미흡한 편이다.
    [관련된 짤막한 이야기 - 소프트웨어 보안의 안전성[2022/03/07]]
    #이야기 #루니프 #난독화 #정량 #정성 #인공지능 #예측 #보안 #안전성 #해커 #개발자 #분석가 #코딩

    728x90
    반응형
Designed by Tistory.