저는 기술 회사에 전 세계적으로 엔지니어링 서비스를 제공하는 소프트웨어 개발 회사 인 에이프리 리트의 설립자이자 최고 경영자입니다.

창작 사무실 책상에서 여성 컴퓨터 해커 코딩의 뒷 모습

게티

요즘 사이버 공격자들은 단순한 멀웨어부터 정교한 리버스 엔지니어링 도구에 이르기까지 인상적인 무기로 무장하고 있습니다. 디스어셈블러,디 컴파일러 및 기타 도구를 통해 해커는 응용 프로그램 소스 코드에 액세스하고 분석 할 수 있습니다. 이 정보를 통해 해커는 민감한 정보를 추출하고 악성 코드를 추가하고 응용 프로그램을 복제하는 등 다양한 방법으로 소프트웨어를 남용 할 수 있습니다.

보안 회사 포지티브 테크놀로지의 최근 연구에 따르면 인기있는 모바일 뱅킹 애플리케이션은 해킹 공격에 취약합니다. 식별 된 가장 일반적인 사이버 보안 문제는 소스 코드로 명시 적으로 작성된 클래스 및 메소드의 이름,코드 주입에 대한 보호 부족 및 코드 난독 화 부족과 관련이 있습니다.

특히 코드 난독 화는 소프트웨어 보안을 위해 유망한 관행입니다. 침입으로부터 소프트웨어를 보호하는 방법을 찾고 있다면 코드를 난독 화하여 방어를 강화하는 것으로 시작할 수 있습니다.

코드 난독 화는 어떻게 작동합니까?

난독 화 방법을 사용하면 암시 적 값을 숨기고 논리를 숨기도록 변환하여 응용 프로그램 코드를 강화할 수 있습니다. 이러한 조치는 권한이없는 제 3 자가 소프트웨어의 후드 아래를 보는 것을 어렵게 만듭니다.

대부분의 난독 화 기술은 다음 코드 측면 중 하나를 변형시킵니다:

•데이터:코드 요소가 다른 것처럼 보이게 만들기

•제어 흐름:소프트웨어가 디컴파일된 경우 실행 가능한 논리를 비결정적으로 만들기

•레이아웃 구조:데이터 서식 지정,식별자 이름 바꾸기 및 코드 주석 제거

난독화 도구는 소스 코드,머신 또는 바이너리 코드 및 바이트 코드와 함께 작동합니다. 난독 화에 가장 적합한 코드 유형을 확인하려면 각 선택 항목의 제한 사항을 염두에 두어야 합니다.

소스 코드를 난독화할 때 난독화된 코드를 처리하고 디버깅하는 데 문제가 발생할 수 있습니다. 이진 난독 화는 다른 두 옵션보다 복잡 할뿐만 아니라 각 시스템 아키텍처에 적용해야합니다.

회사에서는 종종 바이트 코드 난독 화를 선택합니다.이 경우 소스 코드 나 기계 코드를 처리 할 필요가 없습니다. 그러나 바이트 코드를 기계 코드로 변환 할 때 모든 난독 화 된 코드 주입을 완전히 무작위로 유지하는 것은 어렵습니다.이는 소프트웨어 성능에 거의 영향을 미치지 않는 높은 수준의 바이트 코드 보호를 보장하는 데 도움이 되었습니다. 이 컴파일러는 코드를 강화하는 것 외에도 해커가 소프트웨어를 해독하는 것을 거의 불가능하게하는 소프트웨어 라이센스 검증자를 무작위로 배치 할 수 있습니다.

코드 난독 화로 앱을 어떻게 보호 할 수 있습니까?

난독 화는 보안 코딩 방법 중 하나이지만 여전히 많은 개발자들 사이에서 인기가 없습니다. 이것의 주된 이유는 과도하게 사용하면 코드 난독 화가 소프트웨어 성능에 해를 끼칠 수 있기 때문입니다.

그러나 모바일 뱅킹 앱에 대해 이야기하고 있다면 사용자의 은행 계좌 데이터를 보호하는 것의 중요성은 균형 잡힌 코드 강화에 추가 시간과 노력을 소비하는 것을 정당화 할만큼 충분히 높습니다.

가장 효과적인 방법으로 코드를 난독 화하려면 고려해야 할 사항이 있습니다.

•코드를 난독 화하기 전에 코드의 어느 부분을 난독 화 할 수 있는지 결정해야합니다. 성능에 중요한 코드를 난독 처리하지 마십시오. 또한 난독 화가 소프트웨어 기능에 어떤 식 으로든 영향을 미치지 않는지 확인하십시오.

•난독 화 된 코드의 크기와 성능에주의하십시오. 큰 코드를 강화하면 실행 시간이 최대 1,000 배까지 증가 할 수 있습니다.

•난독 화 된 코드에 불투명 한 조건자를 추가하여 코드 실행 위치를 이해할 수 없도록합니다. 제어 흐름 그래프를 선형 코드 실행이 아닌 상태 머신 실행처럼 보이게 합니다.

•계층화 된 방어를 만들려면 몇 가지 변환 기술을 결합하십시오. 난독 화 기술을 많이 사용할수록 코드가 더 잘 보호됩니다.

•코드 난독 화는 다른 보안 관행을 대체 할 수 없으므로 추가 보안 계층으로 만 사용하십시오.

제대로 구현되면 코드 난독 화는 무단 분석으로부터 소프트웨어를 보호하는 효과적인 솔루션입니다. 그것은 은색 총알이 아니지만,그것은 크게 악용하고 소프트웨어를 손상하려는 시도를 복잡하게 할 것이다.

포브스 테크놀로지 위원회는 세계 최고 수준의 기업,기업 및 기술 임원들을 위한 초대 전용 커뮤니티입니다. 나는 자격이 있습니까?

트위터 나 링크드 인에 나를 따르라. 내 웹 사이트를 확인하십시오.

로드 중…

답글 남기기

이메일 주소는 공개되지 않습니다.