자세히 보기

By Jaikumar Vijayan

SAP 환경에서 빈번하게 발생’··· 8가지 보안 실수

구성 오류 등 몇 년 전부터 잘 알려진 수많은 실수들이 계속해서 SAP 환경의 보안을 훼손하고 있다. SAP 환경이 갈수록 더 복잡해지고 있는 것이 이런 상황을 초래하는 큰 이유 중 하나다. 지난 몇 년간 SAP 애플리케이션들이 달라졌고 발전했다. 최근에는 여러 다양한 다른 시스템 및 애플리케이션과 연결되어 있다.

SAP 환경은 일반적으로 시간 경과와 함께 도입되고 연결된 다양한 API와 인터페이스를 통해 서로, 또 외부 시스템과 통신하는 통신 구성 요소 및 많은 맞춤형 코드로 구성된다. EPR 분야 보안 업체인 오냅시스(Onapsis)의 CTO 후안 페레즈-에체고엔에 따르면, 새 코드와 프로토콜이 기존 환경과 상호작용하면서 보안 취약점과 결함을 물려 받는다.

또 새 비즈니스 프로세스를 수용하기 위해 프로필과 파라미터, 구성을 계속 바꾸지만, 이것이 초래할 보안 측면의 영향을 거의 이해하지 못한다. 이러한 환경의 복잡성이 수많은 보안 취약점을 초래한다.

올해 초, 2개 주요 SAP 구성 요소의 잘 알려진 구성 오류를 겨냥한 익스플로잇들이 공개되면서 이 문제가 집중 조명되었다. 공격자가 원격으로 SAP 환경을 관리자 권한으로 제어할 수 있는 익스플로잇으로 10KBlaze로 불린다. US-CERT는 그 즉시 이에 대해 경고했다.

다음은 엔터프라이즈 SAP 환경에서 가장 많이 발생하는 구성 오류, 보안 실패 가운데 일부를 정리한 내용이다.

1. 잘못 구성된 ACL
ACL(Access Control Listes)은 여러 SAP 시스템 간, 그리고 SAP와 비 SAP 환경 간 통신과 연결을 제어한다. 또 SAP 시스템에 대한 사용자 접근 권한을 결정한다.

그런데 SAP 시스템과 외부 시스템, 여러 SAP 시스템 간 연결을 제어하는 ACL이 잘못 구성되고, 결함이 많고, 특정인이 특정 시스템을 매개체로 다른 시스템에 쉽게 접근할 수 있는 경우가 많다. 페레즈-에체고엔에 따르면, 침입 테스트를 하면 잘못된 ACL 구성으로 인해 공격자가 SAP 환경을 수평으로 이동할 방법을 획득하게 되는 경우가 많다.

오냅시스가 5월 공개한 10KBlaze 익스플로잇을 예로 들면, SAP 게이트웨이와 SAP 메시지 서버의 ACL이 잘못 구성된 것을 악용할 수 있도록 만들어져 있다. 이 익스플로잇은 공격자에게 SAP 환경을 완전히 제어할 수 있는 권한을 준다. 이를 통해 데이터를 보며, 삭제하고, 수정할 수 있으며, 시스템을 정지시키고, 다른 악의적인 행위를 할 수 있다.

오냅시스 CTO에 따르면, ACL이 잘못 구성되는 경우가 많은 SAP 환경의 다른 구성 요소들은 SAL ICM(Internet Communication Manager), SAP 디스패처(Dispatcher), 원격 모니터링 및 관리용 SAP 관리 콘솔, OS 모니터링용 SAP 호스트 에이전트 ACL 등이다.

SAP도 오래전부터 ACL을 잘못 구성했을 때 초래될 수 있는 위험을 경고했다. 페레즈-에체고엔은 새 버전의 앱은 구 버전보다 훨씬 더 안전하며, ACL 기본 구성도 훨씬 더 튼튼하다고 설명했다. 그렇지만 SAP 환경에서 여전히 가장 큰 취약점(그러나 방지할 수 있는) 중 하나가 안전하지 못한 ACL이다.

2. 취약한 사용자 접근 제어
대부분 SAP 소프트웨어는 권한이 높은, 그리고 관리자 수준의 접근이 가능한 기본 사용자 계정이 1개 이상이다. 그리고 악의적인 사용자가 이런 계정에 접근할 경우 큰 피해가 초래될 수 있다. SAP 시스템을 전문으로 다루는 컨설팅 회사인 에노와(Enowa LLC)의 조나단 하운 시니어 디렉터에 따르면, SAP HANA의 SYSTEM 사용자 계정, SAP* & DDIC 계정이 여기에 해당된다.

하운은 “해커들은 이런 계정이 존재하는 것을 알고 있으며, 따라서 이를 먼저 공격하려 시도한다. 그는 “기업과 기관은 필요할 때까지 이런 계정들을 비활성화시켜 놓거나, 추측할 수 없도록 임의로 생성한 아주 복잡한 비밀번호를 사용해야 한다”라고 강조했다. 일부 경우에는 관리자가 이런 계정을 보안 상태로, 그리고 임시로 사용할 수 있도록 허용하는 소프트웨어 제품들도 있다.

시간이 지나면서 확장된 환경을 중심으로 SAP 환경에는 이런 계정이 아주 많다. 악의적 사용자에게 완전한 권리자 권한, 심지어 슈퍼 관리가 권한을 줘서 환경의 모든 구성 요소에 접근할 수 있는 그런 계정을 의미한다. 페레즈-에체고엔은 “이는 많은 기업과 기관에서 반드시 개선과 향상이 되어야 하는 SAP 보안 ‘위생’ 분야 중 하나다”라고 강조했다.

3. 안전하지 않은 맞춤형 코드
SAP 글로벌 시큐리티의 보안 커뮤니케이션 VP인 거트 슈로에터에 따르면, 기업이 SAP 환경에 구현하는 맞춤형 코드와 기능성에 버그와 보안 취약점이 존재하는 경우가 많다. 슈로에터는 “소프트웨어 개발 라이프사이클 측면에서 문제점들이 많다”라고 말했다.

소프트웨어를 빨리 릴리스해야 하는 압력을 받는 개발 담당 조직은 기본적인 보안 사항에 관심을 크게 기울이지 않는 경우가 많다. 소프트웨어를 구축해 배포할 때의 버그 헌팅, 코드 스캔, 코드 취약점 분석에 소홀하다는 이야기다. 슈로에터는 “우리는 ’시큐리티 바이 디자인(설계에 의한 보안)’, ‘시큐리티 바이 디폴트(기본 구성에 의한 보안)’을 이야기한다. 그러나 이것이 말뿐인 SAP 환경 운영 조직이 아주 많다”라고 전했다.

4. 미흡한 패치 관리
대부분 SAP 환경은 ‘매우 중대’하기 때문에, 관리자는 가용성을 방해할 수 있는 일을 하는 것을 주저한다. 그 결과, (심지어 정말 중요한 취약점 패치를 포함)보안 패치와 업데이트가 신속히 적용되는 경우가 아주 드물며, 때론 아예 적용되지 않는다.

페레즈-에체고엔에 따르면, SAP 환경에 패치를 적용하기 위해서는 개발부터 QA, 프로덕션 이전 단계, 각기 다른 계층 전체 등 환경에 미치는 영향을 이해 및 파악해야 한다. 관리자는 패치가 기존 프로세스나 인터페이스를 망가뜨리지 않도록 시간을 투자해야 한다. 이로 인해, 패치가 처음 배포되고 몇 년이 지난 후에도 필수 패치가 적용되지 않는 문제들이 발생한다.

슈로에터에 따르면, 정보가 부족해 온프레미스 SAP 시스템에 필요한 패치를 파악해 적용하는 데 어려움을 겪는 조직들도 많다. 관리자는 정기적으로 패칭에 대한 업데이트된 정보를 제공하는 리소스를 구독하고, 취약점에 대한 정보를 제공하는 사이트와 데이터베이스를 계속 주시할 필요가 있다.

5. 보호되지 않은 데이터
요즘 SAP 환경은 여러 다양한 것들에 연결되어 있으며, 직접 또는 간접적인 방식으로 거의 모든 것에서 접근할 수 있다. 또 많은 SAP 워크로드가 클라우드로 마이그레이션 되었다.
그러나 (미션 크리티컬 데이터를 포함)데이터가 보호되지 않은 경우가 아주 많다. 전송, 또는 정지(보관 또는 저장) 상태의 데이터를 암호화하는 기업이 극소수에 불과하다. 이에 이런 과정에 부적절하게 접근 및 악용되는 위험에 노출된다. 하운은 “클라우드와 호스팅 환경을 이용하는 경우, 서비스 공급자가 네트워크 암호화와 다른 보안 기준을 적용한다고 잘못 생각하거나 가정한다”라고 지적했다.

특히 타사가 SAP 데이터베이스를 호스팅하는 경우, 비신뢰 사용자가 데이터에 접근하지 못하도록 정지(보관) 데이터를 반드시 암호화해야 한다. 그는 “호스팅과 IaaS 클라우드 플랫폼을 사용하는 많은 기업들에 데이터, 트랜잭션 로그, 백업 파일 암호화를 강력히 권장한다”라고 말했다.

6. 취약한(미흡한) 비밀번호 관리
ERP 시스템과 여기에 연결된 애플리케이션에 아주 중요한 정보가 들어있지만, 이를 취약한 비밀번호 및 비밀번호 관리 방법으로 보호하는 경우가 많다. 여러 계정에 동일하게 사용하고 있는 비밀번호, 기본 값 비밀번호로 보호된 특권(관리자) 계정에 접근하는 방법을 찾는 경우가 많다. 물론 취약한 비밀번호는 모든 애플리케이션에 문제가 된다. 그렇지만 아주 중요한 SAP 환경에서 문제의 심각성이 더 커진다.

일부 조직은 비밀번호에서 기본에 해당되는 기준을 적용하지 않는다. 이로 인해 계정이 침해당하고, 해커들은 유효한 사용자 계정과 비밀번호를 이용해 발각되지 않은 상태에서 피해를 발생시킨다. 하운은 “사용자 계정 비밀번호를 복잡하게 만들고, 매년 몇 차례 비밀번호를 변경하도록 SAP 시스템을 구성해야 한다”라고 강조했다.

슈퍼 유저 및 관리자 비밀번호를 일반 사용자에게 제공해서는 안 되며, 디지털 금고에 잠근 상태로 보관해야 한다. 슈로에터에 따르면, 기업과 기관은 매크로와 텍스트 기반 인증 대신, SSO, 이중 인증, 컨텍스트(맥락) 기반 인증같이 강력한 통제책을 도입해 사용하는 것이 좋다.

7. 긴급 대응 계획 미흡
적절한 위기관리 계획이 부재하거나 미흡한 조직이 많은 것도 큰 문제 중 하나이다. 슈로에터에 따르면, 전개되는 공격에 대응하는 프로세스를 수립해 적용하고 있거나, 위기에 대비한 명령(지휘) 체계를 구축한 조직이 극소수에 불과하다.

SAP 조사 결과에 따르면, 기업과 기관은 ERP 환경에서 데이터 상실과 긴급 복구 용이성, 비즈니스 연속성 문제를 걱정하고 있지만, 이런 위기에 대응하는 계획을 수립한 조직은 극소수다. 

8. 부적절한 로깅 및 감사
SAP 환경 전반에 걸쳐 발생하는 시스템 동작(활동)을 모니터링하기 위해 필요한 가시성을 강화화는 것이 로깅(로그 기록)과 감사다. 이는 관리자가 특권(관리자급) 사용자를 계속 주시하고, 애플리케이션과 데이터, 데이터베이스에 대한 접근, ID 변경에 대해 모니터링하는 활동에 도움을 준다.

그러나 대부분 조직은 SAP 시스템의 중요 동작(활동)을 추적하는 감사 정책이 미흡하다. 이는 애플리케이션 서버 계층과 데이터베이스 계층이 모두 대상이 된다. 그는 “데이터를 감사하면 공격을 선행적으로 감지할 수 있고, 또 이는 공격이 발생한 후 포렌식 데이터를 제공한다”라고 말했다.

SAP는 오래전부터 제품에 많은 보안 기능을 추가했으며, 보안 기본 구성으로 구성해 제공하고 있다. 또 구성 드리프트, 보안 패치 취급 방법 같은 중요 사안에 대한 가이드를 제공했으며, 소프트웨어 보안 기능을 추가 및 강화했다. 슈로에터는 “고객이 이를 다루기 시작해야 한다. 또 전체적인 관점에서 사이버보안을 다뤄야 한다”라고 강조했다.

SAP 애플리케이션이 복잡하기 때문에 보안 문제를 다루는 것도 복잡하다. 기업과 기관은 SAP 환경의 보안에 대한 계획을 수립하고, 위험에 대한 우선순위를 부여해 대응하고, 공식화된 방식으로 위협을 경감해야 한다.

SAP가 보안 업체 한 곳과 공동으로 한 조사 결과에 따르면, 지난해 범죄자들 사이에 SAP 애플리케이션에 대한 ‘관심’이 높아졌다. 계속해서 이런 위협을 과소평가, 또는 무시하는 것은 실수다. 슈로에터는 “10KBLAZE는 기업이 이 문제를 다루기 시작해야 하는 이유를 설명해주는 아주 좋은 사례”라고 말했다. dl-ciokorea@foundryco.com