해커들, ‘관리형 파일 전송 애플리케이션’ SQLi 결함 악용
“‘데이터베이스 쿼리와 사용자 데이터 혼합’ 묵과하면서 발생”
“개발자들 정신차리고 코드의 SQLi 결함 취약 확인해야”

(사진=게티 이미지)
(사진=게티 이미지)

[애플경제 전윤미 기자] 데이터 질의언어 SQL(시퀄) 주입 과정의 취약점이 큰 문제가 되면서 미국의 FBI와 CISA는 이에 대한 국제적 경보를 발해 눈길을 끈다. 이들 당국자는 “이제 SQL 인젝션 결함을 영원히 삭제할 때가 됐다”면서 “지난 수 년 동안 문제가 되어온 실수를 더 이상 반복해선 안 될 것”이라고 밝혔다.

SQL 주입 문제의 근본은 코드와 데이터가 혼합하는데서 발생한다. CISA와 FBI의 경고에 따르면 이 문제를 방지하는 방법이 수년 동안 알려졌음에도 불구하고, 많은 SW업체들은 SQL 주입 결함의 위험이 있는 소프트웨어를 계속 생산하고 있다.

IT프로포탈은 "SQL 주입(인젝션 또는 SQLi) 취약점은 지난 20년 동안 반복되어 왔다. "면서 “이 문제에 대한 광범위한 지식과 이를 처리하는 방법이 있음에도 불구하고, 여전히 소프트웨어 보안을 해치는 대표적인 결함으로 존재해왔다.”고 짚었다.

CISA는 “소프트웨어 제조업체들은 이로 인한 결함이 있는 제품을 계속 개발해 왔으며, 그 때문에 많은 고객이 위험에 빠지곤 했다”고 지적했다. 이에 CISA와 FBI는 “사이버 공격자가 사용자를 표적으로 삼아 손상시키는 것을 목격한 사례가 빈번해지고 있다”며 경고를 발령햇다. 특히 이는 수천 개의 기업이나 조직에 영향을 미치고 있다는 분석이다.

작년엔 MOVEit Transfer 웹앱 사태 불러

작년에 ‘CL0P’ 랜섬웨어 집단은 ‘MOVEit Transfer’로 알려진 프로그레스 SW의 관리형 파일 전송 소프트웨어에서 SQL 주입 취약점을 악용했다. 이는 지금까지 알려지지 않았던 수법이다.

이때 인터넷에 연결된 MOVEit Transfer 웹 애플리케이션은 웹 셸을 감염시켰다. 이 웹 셸은 다시 MOVEit Transfer 데이터베이스에서 데이터를 훔치는 데 사용되었다. 그 때문에 영국의 BBC나, 미국 연방정부기관을 포함한 글로벌 조직들이 피해자가 되었다.

그래서 “기업의 고위 임원들은 반드시 코드에 대한 공식적인 검토를 통해 SQLi 결함에 취약한지 여부를 확인해야 한다”면서 “또한 고객이 그러한 검토를 수행했는지 여부를 공급업체에 문의하는 것도 필요하다”고 강조했다.

CISA와 FBI는 또 “경영진이 자신의 코드에 이러한 취약점이 있음을 발견하면 소프트웨어 개발자는 현재와 미래의 모든 소프트웨어 제품에서 결함을 제거하기 위해 즉시 완화 작업을 시작해야 한다”고 촉구했다.

CISA는 또 “SQLi와 같은 취약점은 2007년까지만 해도 ‘용납할 수 없는 결함’으로 간주되어 왔다”면서 “그럼에도 불구하고 여전히 일반화된 취약성 클래스”라고 개탄했다. 예를 들어 취약점 ‘CWE-89’는 지난 2023년 가장 위험하고 견고한 소프트웨어 약점 목록 상위 25개에 포함되었으며, 최고 3위에 오르기도 했다.

사용자의 입력, SQL명령에 직접 삽입시 취약점 발생

SQL 주입 취약점은 사용자가 제공한 입력을 SQL 명령에 직접 삽입하는데서 비롯된다. 이에 ‘CWE-89’ 취약점은 보안 검사를 우회하기 위해 쿼리 논리를 의도적으로 변경하거나 시스템 명령을 실행하고, 백엔드 데이터베이스를 수정하는 추가 명령문을 삽입하는 과정에 사용자의 데이터가 사용될 수 있는 등의 문제에서 생긴다.

SQL 주입은 그래서 “데이터베이스 기반 웹사이트에서 일반화된 취약점이 되었다”는 것이다. 애초 결함은 쉽게 감지되고 쉽게 악용될 수 있으므로, 사용자가 적은 사이트나 제품 패키지도 이런 종류의 공격에 노출될 가능성이 높다. 이 결함은 또 SQL이 제어 영역과 데이터 영역을 실제로 구별하지 않는다는 것과도 관련이 있다.

이에 FBI와 CISA는 “SQLi 취약점은 소프트웨어 개발자가 보안 유의사항을 지키지 않은데 따른 것이며, 그로 인해 데이터베이스 쿼리와 사용자 제공 데이터가 혼합됨으로써 발생한 것”이라고 재차 지적했다.

특히 “SQLi 취약점으로 인해 악의적인 사이버 공격자가 중요한 정보를 훔치고, 변조하거나, 삭제하거나, 데이터베이스에서 정보를 사용할 수 없게 만들 수 있다”면서 “소프트웨어 개발자가 사용자가 제공한 콘텐츠에 대해 악의적인 것인지 제대로 식별하지 못할 경우 SQL 주입은 성공한다”고 경고했다.

저작권자 © 애플경제 무단전재 및 재배포 금지