철자 하나가 해킹 부른다 개발자 주의

Share

개발자 여러분, 철자 하나 때문에 해킹 당할 수 있습니다! 악성 패키지에 숨겨진 위험

개발자 여러분, 안녕하십니까? 오늘은 여러분의 코드 작성 습관에 경종을 울릴 만한 중요한 이야기를 해보려 합니다. 무심코 저지른 철자 오류 하나가 시스템 전체를 위험에 빠뜨릴 수 있다는 사실, 알고 계셨나요? 최근 발견된 새로운 공급망 공격은 그 심각성을 여실히 보여줍니다.

타이포스쿼팅 공격, 그 은밀한 침투

체크막스(Checkmarx)의 보고서에 따르면, 악의적인 공격자들이 교묘한 수법으로 개발자들을 속여 가짜 패키지를 다운로드하도록 유도하고 있습니다. 이는 '타이포스쿼팅(typosquatting)'이라는 공격 기법으로, 개발자가 흔히 저지르는 철자 오류를 악용합니다. 예를 들어, 유명한 Python 패키지인 "colorama"를 다운로드하려다 실수로 "col0rama" 또는 "coloramaa"라고 입력하는 경우입니다.

Colorama와 Colorizr, 주요 공격 대상

공격자들은 주로 Colorama(Python)와 Colorizr(JavaScript)와 같이 널리 사용되는 패키지를 모방합니다. 이들은 Python 패키지의 주요 저장소인 PyPI에 가짜 패키지를 업로드하여 개발자들을 속입니다. 체크막스의 보안 연구원인 Ariel Harush는 "이번 공격은 Windows와 Linux 환경에서 Python 및 NPM 사용자를 대상으로 하며, 타이포스쿼팅과 이름 혼동 공격을 활용합니다"라고 경고합니다.

교차 플랫폼 공격, 더욱 정교해지는 수법

이번 공격의 특징 중 하나는 교차 플랫폼을 노린다는 점입니다. 공격자들은 NPM(JavaScript) 생태계의 이름을 사용하여 Python 사용자를 속이는 수법을 사용합니다. 이러한 교차 플랫폼 공격은 드물며, 보다 고도화되고 조직적인 전략이 사용되었음을 시사합니다. 윈도우와 리눅스 페이로드는 유사한 업로드 시기와 이름을 가지지만, 서로 다른 도구와 전술, 인프라를 사용합니다.

악성 패키지 설치 후 벌어지는 일들

일단 가짜 패키지가 설치되면 심각한 피해가 발생할 수 있습니다. 윈도우 시스템에서는 악성 코드가 예약된 작업을 생성하여 지속성을 유지하고, 환경 변수를 수집합니다. 환경 변수에는 중요한 자격 증명이 포함될 수 있습니다. 또한, PowerShell 명령을 사용하여 최고의 안티바이러스 소프트웨어조차 무력화하려고 시도합니다. 리눅스 시스템에서는 Colorizator 및 coloraiz와 같은 패키지가 암호화된 역방향 셸을 생성하고, 텔레그램 및 디스코드와 같은 플랫폼을 통해 통신하며, 데이터를 Pastebin과 같은 서비스로 유출합니다.

예방만이 최선, 개발자의 주의가 필요

다행히 악성 패키지들은 공용 저장소에서 제거되었지만, 위협은 여전히 남아 있습니다. 개발자들은 패키지를 설치할 때 매우 신중해야 합니다. 철자를 다시 한번 확인하고, 패키지가 신뢰할 수 있는 출처에서 왔는지 확인해야 합니다. 또한, 조직은 배포된 모든 패키지를 감사하고, 애플리케이션 코드를 적극적으로 검사하며, 개인 저장소를 면밀히 조사하고, 알려진 악성 이름을 차단해야 합니다.

결론

작은 철자 하나가 거대한 보안 위협으로 이어질 수 있다는 사실을 기억하세요. 개발자 스스로 경각심을 가지고, 꼼꼼하게 확인하는 습관을 들이는 것이 중요합니다. 안전한 개발 환경을 위해 항상 주의를 기울이시기 바랍니다.

You may also like...