블로그

COBOL 애플리케이션 개발 보안 | Secure Code Warrior

May 21, 2020
피터 단히욱
빈티지 텔레비전이 놓인 선반이 있는 방과 그 앞에 세워진 자전거.

1959년에 발명된 컴퓨터 언어를 2019년에 다루고 있다는 사실은 거의 희극처럼 느껴집니다. 요즘 클래식 싱어 재봉틀을 수리하거나 쉐보레 파크우드, 트라이엄프 헤럴드의 오일 팬을 교체하는 기술에 관한 세미나나 컨벤션은 거의 없습니다. 대부분의 노후화된 도구는 이미 은퇴하고 더 효율적인 새 모델로 교체되었습니다. 하지만 다른 산업에 비해 최첨단이어야 할 기술 분야에서는 여전히 같은 시기에 출시된 COBOL과 같은 언어를 사용하고 있습니다.

물론 여기에는 타당한 이유가 있습니다. COBOL(Common Business Oriented Language)은 60년이나 되었지만, 매우 잘 설계되어 오늘날에도 여전히 관련성이 높고 널리 사용되고 있습니다.

COBOL은 백엔드 시스템에서 수학적이고 공식적인 작업을 수행하도록 프로그래밍하기 위해 특정 문장과 구문으로 그룹화된 평이한 언어를 사용하는 비교적 간단한 방법으로 만들어졌습니다. 왜 오늘날까지 살아남았을까요? 간단히 말해, 자신의 역할을 매우 잘 수행하기 때문입니다. 어떤 의미에서 COBOL은 금융 및 제조와 같은 다양한 산업의 많은 메인프레임 및 핵심 시스템을 위한 컴퓨팅 구조의 일부가 되었습니다.

수년에 걸쳐 COBOL에 대한 점진적인 업데이트가 있었으며, 특히 2002년에는 새로운 애플리케이션 프로그래밍을 더 유연하게 만들기 위해 객체 지향 언어로 전환되었습니다. 하지만 대부분의 경우 COBOL은 오늘날에도 여전히 과거와 같은 모습으로 남아 있습니다. 많은 현대적인 메인프레임급 애플리케이션을 뒷받침하는 백엔드에서 작동하는, 이름 없는 영웅이자 든든한 프로그래밍 언어입니다.

COBOL은 얼마나 안전할까요?

안타깝게도 COBOL이 처음 만들어졌을 때는 보안에 대한 고려가 거의 없었습니다. 예를 들어, 많은 COBOL 애플리케이션에는 암호 프로그램이 보호하고 있지만, 크래킹을 방지하기 위한 무차별 대입 공격 방어와 같은 보안 강화는 거의 이루어지지 않습니다. 여기에 네트워크 트래픽을 모니터링하는 많은 최신 보안 도구가 COBOL과 같은 비즈니스 언어로 작성된 프로그램 내에서 발생하는 기능을 처리하거나 평가하는 방법을 모른다는 사실까지 더해지면, 심각한 문제가 발생할 수 있습니다. 실제로 많은 현대적인 침해 사고가 클래식 컴퓨터 언어를 실행하는 시스템에 대한 보안 감독 부족으로 인해 발생했습니다. 2015년 미국 인사관리처(OPM)가 해킹당해 400만 명 이상의 연방 공무원 데이터가 노출되었을 때, 그 원인은 COBOL 사용에 있다는 지적이 나왔으며, 이는 그러한 구식 시스템에 최신 보안 조치를 구현할 수 없었기 때문입니다.

수년 전에는 COBOL과 당시 유행하던 언어를 아는 수많은 프로그래머가 보안을 담당했습니다. 1960년대에 COBOL은 오늘날의 Java나 .Net과 같았고, 이를 아는 사람들은 부서의 스타였습니다. 2019년 현재, 그들이 보호하던 시스템은 그대로 남아 있지만 그들은 이미 오래전에 은퇴했을 가능성이 높습니다.

COBOL의 최전선 방어망 확장

이른바 '그레이비어드(greybeards)'라고 불리는 이들 중 상당수가 이전에 작업했던 메인프레임을 방어하기 위해 계약직으로 조직에 복귀했습니다. 많은 곳에서 그들은 사무실 구석에 있는 나이 든 마법사들의 비밀 결사대처럼 다소 이질적인 존재로 여겨졌습니다. 그들의 독특한 복장(넓은 넥타이와 쓰리피스 정장)과 지나치게 예의 바른 태도는 스키니 진과 만 번(man bun)을 한 현대적인 힙스터들과는 잘 어울리지 않았습니다. 하지만 COBOL이나 다른 고대 언어로 코드를 작성할 수 있는 현대 프로그래머가 거의 없었기 때문에 그들은 절대적으로 필요했습니다. 슬프게도, 이 마지막 마법사 파수꾼들조차 점차 사라지고 있으며, 결국 모든 것을 내려놓고 보카러톤으로 떠나 진정한 은퇴를 즐기고 있습니다.

따라서 오래된 언어와 그 안에 포함된 보안 취약점을 이해하는 사람들에 대한 절실한 필요성이 있습니다. 젊은 세대가 클래식 언어로 코드를 작성하는 방법을 모르더라도, 최소한 그것이 어떻게 작동하고 잠재적인 취약점이 무엇인지 이해해야 합니다. COBOL 개발은 비교적 정체되어 있지만, 네트워크를 겨냥한 위협은 계속 진화하고 있기 때문입니다. 앞서 언급한 COBOL 암호 애플리케이션처럼 60년 전에 프로그래밍된 고대 사이버 보안 기술을 사용하여 현대의 공격자로부터 메인프레임을 방어하려는 것은 창병 부대를 배치해 우주 해병대 소대와 싸우려는 것과 같습니다. 할리우드 영화 같은 기적이 일어나지 않는 한, 창을 든 사람들에게는 비극적인 결말이 기다리고 있을 뿐입니다.

오래된 것이든 새로운 것이든, 보안은 필수입니다.

그렇기 때문에 우리는 다양한 프로그래밍 언어와 프레임워크를 아우르는 고급 교육 시스템의 중요성을 믿습니다. 많은 보안 교육 옵션의 눈에 띄는 문제 중 하나는 정보가 너무 일반적이거나, 더 나쁘게는 개발자의 일상 업무와 전혀 관련이 없다는 점입니다. Java에만 적용되는 취약점을 배우는 데 반나절을 소비하는 것은 COBOL 개발자가 시스템을 강화하는 데 아무런 도움이 되지 않으며, 이는 보안을 의무 교육을 마친 후 잊어버려도 되는 '체크리스트' 정도로 여기는 인식을 고착화할 뿐입니다. 덧붙이자면, Java 보안 버그에 대한 교육이 Java Spring 개발자에게 항상 적용되는 것도 아닙니다. 보안 코딩은 프레임워크 수준까지 포함하여 언어마다 완전히 다릅니다.

모든 개발자가 보안 슈퍼히어로가 될 수 있도록 지원한다는 우리의 사명에 따라, 우리는 여전히 세계에서 가장 표적이 되기 쉽고 중요한 시설에서 사용되는 유효한 컴퓨터 언어를 간과하지 않을 것입니다. 우리 플랫폼을 살펴보면, Google의 Golang과 같이 오늘날 사용 가능한 가장 현대적인 프로그래밍 도구와 함께 COBOL 관련 최신 실습 과제와 교육을 찾을 수 있습니다. 이러한 유연성은 교육이 개인에게 적절하고 맥락에 맞게 제공되도록 보장하며, 업무 환경을 모방하여 참여도와 효과를 극대화합니다. 결국 강력한 보안 문화를 구축하는 것은 사이버 위협과의 싸움에서 가장 중요하므로, 교육은 실용적이어야 합니다(물론 재미도 있어야겠죠!).

우리는 보안 위협이 노후화된 언어를 실행하는 시스템을 대상으로 하든, 최신 모바일 앱을 대상으로 하든 상관없는 단계에 도달하기를 바랍니다. 모든 개발자가 이러한 취약점에 대한 최상의 정보와 공격자가 이를 악용하는 데 사용하는 도구 및 기술, 그리고 이를 완벽하게 차단하는 방법을 갖추기를 원합니다. 우리는 사이버 보안 위협 앞에서 결코 굴복하거나 주저하지 않을 것입니다. 위협이나 취약점이 얼마나 현대적이든, 혹은 얼마나 오래전에 만들어졌든, 언제나 Secure Code Warrior를 통해 이를 완벽하게 방어하는 방법을 배울 수 있습니다.

추신: 고대 언어는 SQL 인젝션 취약점에서 자유롭다고 생각하시나요? 다시 생각해보세요. 지금 바로 COBOL에서 취약점을 찾아 수정할 수 있는지 확인해보세요.

태그라인

배포 전 AI 기반 개발 거버넌스 확보

AI 기반 위험을 측정하고, 커밋 시점에 보안 코딩 정책을 적용하며, SDLC 전반에 걸쳐 안전한 소프트웨어 제공 속도를 높이세요.

데모 예약하기
리소스 라이브러리

더 많은 블로그 살펴보기

보안 코딩, AI 거버넌스, 소프트웨어 리스크 관리에 관한 전문가 콘텐츠를 확인해 보세요.

전체 보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

더 알아보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

더 알아보기
사례 연구
필터 라벨
div 블록 내부의 텍스트입니다.

하나의 보안 문화: Sage는 어떻게 챔피언 프로그램을 구축했는가

Sage가 유연하고 관계 중심적인 접근 방식을 통해 보안을 강화하고, 200명 이상의 보안 챔피언을 양성하며 실질적인 위험 감소를 달성한 사례를 확인해 보세요.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

2026년 사이버 보안 인식의 달: 기업 방어의 핵심, AI 보안 이해하기

주요 AI 기업 대부분이 안전 가이드라인이 마련될 때까지 AI 개발 속도를 전 세계적으로 늦춰야 한다고 공개적으로 촉구하는 시점에 이르렀지만, 사실 심각한 보안 문제는 이미 현실화되었습니다. 이로 인해 AI 도입에 따른 금전적 비용과 위험 부담이 계속 쌓이면서 수많은 보안 책임자와 경영진이 절박한 상황에 놓였습니다.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

인에이블러 8: 프로그램 브랜딩

성공적인 보안 코딩 프로그램을 위해서는 훌륭한 콘텐츠 그 이상의 것이 필요합니다. 인에이블러 8에서는 브랜딩을 통해 참여를 누구나 선망하는 위상 중심의 경험으로 바꾸는 방법을 알아봅니다.

더 알아보기
블로그
필터 라벨
div 블록 내부의 텍스트입니다.

이제 모든 직원이 AI 사이버 보안의 최전선에 있습니다

엔터프라이즈 기술 환경은 너무 늦기 전까지는 아무도 예상하지 못한 속도로 변화하고 있습니다. 우리는 공식적으로 사람이 직접 작성한 코드와 기본적인 코파일럿 지원의 시대를 지나 '에이전트 기반 개발 수명 주기(ADLC)'의 시대로 진입했습니다. 자율형 AI 에이전트는 여러 기능 전반에 걸쳐 전례 없는 효율성을 약속하지만, 동시에 완전히 새로운 차원의 보안 및 규제 위험을 야기합니다.

더 알아보기

배포 전 AI 기반 개발 보안 확보

소프트웨어 개발 수명 주기 전반에서 개발자 리스크를 파악하고, 정책을 시행하며, 취약점을 예방하세요.

데모 예약하기
항목이 없습니다.