Essential Concepts

Security Programs, Plans, and Policies

Basic System and Network Security Techniques

Conclusions on Automation System and Network Security

26.1 핵심 개념

System and Network Security 시스템 및 네트워크 보안

26.1.1 시스템 및 네트워크 보안이란 무엇인가?

보안(Security)에 대한 정의는 다양하며, 그 중 많은 정의가 자동화 및 제어 시스템에 적용될 수 있습니다. 일반적으로 보안은 시스템의 견고성(robustness)과 장애, 고장, 실패 또는 기타 문제에도 불구하고 서비스를 제공할 수 있는 능력으로 인식됩니다. 예를 들어, 전력 송배전 산업에서는 “운영 보안(operational security)”을 다음과 같이 정의합니다:

“전력 시스템이 과부하, 과도하거나 부족한 전압, 안정성 상실 또는 비정상적인 주파수 편차 등 신뢰할 수 있는 모든 비상 상황의 영향을 견디거나 제한할 수 있는 능력.”

하지만 다음과 같은 여러 요인으로 인해, 보안은 새로운 의미를 갖게 되었습니다:

  • 거의 모든 자동화 및 제어 시스템 구성 요소에 대해 보편적이고 사용이 쉬운 원격 및 네트워크 접근이 가능해진 점
  • 이러한 구성 요소들이 전화선, 제어 네트워크, 비즈니스 시스템, 심지어 인터넷에 연결되는 추세
  • 의도적이거나 우발적인 네트워크 유발 시스템 실패의 위험

이러한 맥락에서 “시스템 및 네트워크 보안(system and network security)”을 새롭게 정의할 필요가 있습니다.

시스템 및 네트워크 보안은 자동화 및 제어 시스템 또는 관련 정보 자산의 무단 또는 의도되지 않은 사용, 수정, 공개 또는 파괴를 방지하기 위한 목적으로, 물리적 보호 및 전자적 식별, 인증(authentication), 권한 부여(authorization), 필터링(filtering), 차단(blocking), 접근 제어(access control), 암호화(encryption), 검증(validation), 탐지(detection), 측정(measurement), 감사(audit), 모니터링(monitoring), 로깅(logging) 등의 기술을 사용하는 것을 포함합니다.

이러한 활동은 개인 부상 또는 공공 건강 위협 가능성, 대중 또는 소비자의 신뢰 상실, 민감한 자산의 유출, 기업 자산의 보호다음과 같은 위험을 줄이기 위한 노력의 일환입니다. 이 개념은 생산 공정의 모든 시스템에 적용되며, 독립형 구성 요소와 네트워크로 연결된 구성 요소 모두를 포함합니다. 시스템 간 통신은 내부 메시징 또는 사람이나 기계 인터페이스를 통해 이루어질 수 있으며, 이들은 자동화 또는 제어 시스템과 인증, 작동, 제어, 데이터 교환을 수행합니다.

이 정의에서 강조해야 할 몇 가지 측면은 다음과 같습니다:

  • 가능한 가장 넓은 실용적 범위에서 적용되어야 하며, 모든 산업의 모든 유형의 플랜트, 시설, 시스템을 포함해야 합니다. 자동화 및 제어 시스템에는 다음이 포함되며, 이에 국한되지 않습니다:
  • 분산 제어 시스템(DCS), 프로그래머블 로직 컨트롤러(PLC), SCADA 시스템, 네트워크 기반 전자 센싱, 모니터링 및 진단 시스템과 같은 하드웨어 및 소프트웨어 시스템
  • 연속, 배치, 개별 및 기타 공정에 대해 제어, 안전, 제조 운영 기능을 제공하는 로컬 또는 원격의 내부, 인간, 네트워크 또는 기계 인터페이스
  • 기본 공정 제어 시스템(BPCS), 안전 계측 시스템(SIS), 고급 또는 다변수 제어, 온라인 최적화기, 전용 장비 모니터, 그래픽 인터페이스 등 관련 시스템

이후로는 이러한 모든 시스템과 장비를 포함하는 용어로 “자동화 시스템(automation systems)”이라는 단일 용어를 사용합니다.

이 보안 개념은 비교적 새로운 고려사항입니다. 그 이유는 위험을 초래하는 보편적 연결성 자체가 최근에 등장했기 때문이며, 따라서 이 “분야(discipline)”의 필요성도 새롭게 대두되었습니다. 또한 이 분야는 아직 성숙하지 않은 상태입니다. 개념 수립, 설계, 구축, 시운전, 운영, 유지보수, 폐기라는 전체 프로세스의 일부로서, 아직 충분히 이해되지 않았습니다.현재 설치된 대부분의 레거시 시스템은 적절한 보안을 제공할 수 있는 설계 기능을 본래 갖추고 있지 않으며, 이러한 시스템이 네트워크 또는 자동화 시스템 외부의 통신에 연결되거나 연결 가능할 경우 큰 위험에 노출됩니다. 따라서 이러한 레거시 시스템에는 적절한 보호를 위한 특별한 조치와 프로그램이 필수적이며, 신규 시스템에도 신중한 고려, 구성, 설계가 필수적입니다.

시간이 지나면서 자동화 시스템 및 네트워크 보안은 표준이 개발되고, 공급업체와 사용자에 의해 수용되고 구현됨에 따라 일상적인 요소가 될 것입니다. 그때가 되면 자동화 네트워크는 적절한 보안을 보장하기 위한 모든 필수 요소와 기능을 포함하게 될 것입니다. 그러나 그때까지는 우리가 지정하고, 설계하고, 설치하고, 운영하고, 유지하고, 폐기하는 시스템이 보안 부족으로 인해 실패하거나 소유자에게 피해를 주지 않도록 조치를 취해야 합니다. 이 장은 여러분이 적절한 조치를 취했는지 확인하는 데 도움을 줄 것입니다.

자동화 시스템 보안은 일반적인 비즈니스 시스템 또는 정보 기술(IT) 보안과는 동일하지 않습니다. 실제로 중요한 차이점이 많이 존재합니다. 물론 유사한 점도 많으며, 적절한 경우에는 IT 보안 관행을 자동화 시스템 및 네트워크에 적용합니다. 만약 그것만으로 충분하다면, 이 장은 필요 없었을 것입니다. 단지 “Microsoft의 보안 컴퓨팅 권장사항을 따르십시오”라는 문장 하나로 끝났을지도 모릅니다. 물론 다소 과장된 표현이지만, 거의 맞는 말입니다. IT 보안은 잘 확립된 영역이며, 이를 무시하거나 그대로 사용하는 대신, 자동화 시스템 분야의 전문성과 결합하여 우리가 적용하는 보안 기술과 관행이 시스템의 기능을 방해하지 않도록 해야 합니다. 몇 가지 간단한 예시를 통해 이러한 차이점과, 우리가 달성하려는 목표를 위해 모든 전문 분야와 협력해야 하는 이유를 강조할 수 있습니다.

  • 시스템 이해하기 (Learning your system) 시스템을 제대로 보호하려면, 해당 시스템에 대해 잘 알고 있어야 합니다 — 서비스, 연결, 사용되는 포트 등. 네트워크에 연결된 장비와 네트워크의 세부 사항(연결, 포트 등)을 인벤토리화하고 정의하는 데 도움이 되는 자동화 소프트웨어 도구들이 많이 있습니다. 그래서 이러한 도구 중 하나를 사용해 네트워크를 “스캔(scan)”하려고 했는데, 제어 시스템이 멈춰버리는 일이 발생할 수 있습니다. 실제로 많은 자동화 시스템이 일반적인 IT 네트워크 스캔으로 인해 중단되거나 정지된 사례가 있습니다. 자동화 네트워크에서는 네트워크 스캐닝 도구를 사용하기 전에 반드시 해당 도구가 컨트롤러나 시스템의 핵심 부품을 멈추게 하지 않을 것임을 확인해야 합니다. 어떻게 확인할 수 있을까요? 실제 시스템을 대표하는 비생산 환경에서 테스트하거나, 해당 시스템을 다뤄본 시스템 공급업체와 같은 전문가에게 문의하는 것이 좋습니다. 비즈니스 환경에서는 사용자 컴퓨터를 재부팅해도 괜찮을 수 있지만, 24시간 365일 안전 또는 제어 기능을 수행하는 컨트롤러를 단순히 포트를 확인하기 위해 재부팅하거나 리셋하는 것은 절대 허용되지 않습니다.

  • 바이러스 보호, 접근 제어(인증, 권한 부여 등) 기술 이러한 보안 조치는 많은 레거시 시스템이나 현재 시장에 있는 일부 시스템에는 적용할 수 없습니다. 하지만 이러한 시스템들은 보안 취약점을 가지고 있을 수 있습니다. 바이러스 백신 프로그램과 같은 “필수” 기능이나 관행을 처리할 수 있는 처리 능력이나 기능이 부족한 경우가 많습니다. 그렇다고 포기해야 할까요? 아닙니다. IT 및 기타 전문가들과 협력하여 위험 수준에 맞는 적절한 보안 대안을 찾아야 합니다

  • 소프트웨어 업데이트 및 패치 Microsoft는 새로운 취약점이 발견될 때마다 사용자에게 “중요한” 보안 업데이트를 제공하는 훌륭한 프로세스를 개발했습니다. 그런데 운영자 워크스테이션이 Windows XP를 실행 중이라면 최신 업데이트를 설치해야 할까요? 생산 환경이 아닌 다른 곳에서 충분히 테스트하고 검증하기 전에는 절대 설치해서는 안 됩니다. 앞서 언급한 네트워크 스캔과 마찬가지로, 겉보기에는 무해한 패치나 업데이트를 적용한 결과 자동화 및 제어 시스템이 실패한 사례가 많습니다. “그냥 해버리는 것”은 절대 금물입니다. 먼저 괜찮은지 확인하고, 그 후에만 적용해야 합니다. 시스템이 너무 중요해서 그때까지 기다릴 수 없다면, 그동안은 모든 외부 접근을 차단하십시오.

  • 비밀번호 (Passwords) 작업자가 안전 경보에 대응하거나 시스템 또는 구성 요소를 정지시키기 위해 “강력한” 비밀번호를 입력해야 한다면 어떻게 반응할까요? 많은 기업에서는 그런 요구를 하는 사람을 제어실에서 쫓아낼지도 모릅니다. 작업자의 반응 시간이 중요하고 반복적으로 훈련된 상황에서는, 일반적으로 “좋은” 보안 조치라 하더라도 시간을 지연시키는 것은 허용되지 않습니다. 이러한 문제는 반드시 해결되어야 하지만, 다른 방식으로 접근해야 합니다.

“이제 그만! 그럼 어떻게 해야 하나요?”

이 장의 나머지 부분에서는 이러한 문제들을 포함하여 보다 포괄적으로 대응할 수 있는 간단한 로드맵을 제시합니다. 여기서 모든 세부 사항이나 필요한 조치를 일일이 설명하지는 않습니다. 대신, 여러분이 따라야 할 프로세스의 요소들을 제시하고, 적용해야 할 기술과 절차에 대한 상세 정보에 대한 참고 자료를 제공합니다. 좋은 프로세스와 절차를 따르고, 응용에 적합한 기술을 적용한다고 해서 보안이 완벽하게 보장되는 것은 아니지만, 위험을 줄이고 전자 침입으로 인한 시스템 실패 가능성을 최소화할 수 있습니다. 올바르게 구현하고 적용한다면, 실제 위협에 대해 합리적인 대응을 했다는 것을 확신할 수 있습니다.

26.1.2 시스템마다 다른 접근 방식이 필요하다 (Different Systems Require Different Approaches)

이 개요에서 매우 중요한 추가 사항은 다음과 같습니다 — 자동화 시스템에 대해 적절한 보안을 제공할 수 있는 단일한 “만능 해결책(silver bullet)”은 존재하지 않는다는 점입니다. 단일한 “보안 장비(security appliance)”나 “보안 절차(security procedure)”를 적용하고 나면 네트워크와 시스템이 안전하다고 안심할 수 있는 상황은 없습니다.

자동화 시스템 네트워크는 매우 다양합니다. 이를 보호하기 위한 기술도 마찬가지로 다양합니다 (앞서 정의를 참고하십시오). 시스템은 종종 오래된 기술과 새로운 기술, 하드웨어와 소프트웨어가 혼합되어 있으며, 설령 기술적으로 균일하더라도 사람이라는 요소가 개입됩니다 — 설계, 설치, 운영, 유지보수를 담당하는 사람들 말입니다. 따라서 하드웨어와 소프트웨어가 안전하게 설계되었더라도, 운영자가 비밀번호를 노란 메모지에 써서 붙여놓는다면 아무런 의미가 없습니다. 뛰어난 접근 제어, 암호화, 네트워크에 대한 완벽한 이해, 보안 위험을 인식하고 사회공학 (social engineering)에 면역된 인력을 갖추었다 하더라도, 공급업체가 문제 해결을 돕기 위해 연결해둔 일반적인 모뎀 하나가 보안의 약점이 될 수 있습니다.

이 모든 것이 의미하는 바는, 오늘날의 자동화 네트워크 및 시스템 보안은 반드시 엔지니어링된 솔루션(engineered solution)이어야 한다는 것입니다. 왜냐하면 각 네트워크와 시스템은 서로 다르며, 취약점도 다르고 스스로를 보호할 수 있는 능력도 다르기 때문입니다.

또한, 어쩌면 당연한 이야기지만, 자동화 네트워크 및 시스템 보안은 가장 약한 고리만큼만 강하다는 점도 중요합니다. 따라서 적절한 보안을 확보하려면 전체 체인을 이해하고, 보안이 전체 체인에 적용되도록 해야 합니다!

이는 시스템의 초기 개념부터 설계, 구매, 제작, 설치, 시운전, 운영, 유지보수에 이르기까지 모든 측면에 대해 신중하고 포괄적인 프로세스를 적용해야 함을 의미합니다. 하드웨어와 소프트웨어(센서, 지능형 전자 장치(Intelligent Electronic Device, IED), 컨트롤러, HMI 및 기타 구성 요소)부터 운영자, 유지보수, 엔지니어링 절차, 교육, 행동에 이르기까지 시스템 전체에 적용되어야 합니다.

이러한 절차와 교육은 여러분의 직원뿐만 아니라, 계약업체 직원, 시스템 및 네트워크 공급업체와 그들의 직원, 설계·운영·유지보수 활동 등 다양한 영역에 포괄적으로 적용되어야 합니다. 이 장에서는 이러한 프로세스의 핵심 요소들을 설명할 것입니다.

여러분의 네트워크와 그 취약점을 이해하게 되면, 적절한 기술과 조치를 적용하여 침입 위험을 수용 가능한 수준으로 줄일 수 있습니다.

물론, 시스템 보안을 개선하기 위한 간단한 경험 규칙(rule of thumb)들도 존재합니다. 하지만 전체적인 관점 없이 단편적으로 적용한다면, 시간과 비용을 낭비할 뿐만 아니라 시스템의 신뢰성을 오히려 떨어뜨릴 수도 있습니다. 이 장은 여러분이 그런 실수를 하지 않도록 도와줄 것입니다.

26.2 보안 프로그램, 계획 및 정책

26.2.1 시스템의 취약점을 파악하고 — 그 다음 해결하라 (Know Your Systems’ Weaknesses—Then Fix Them)

자동화 네트워크 및 시스템을 보호하기 위한 두 가지 기본 단계가 있습니다. 첫 번째는 시스템을 이해하고 그 취약점과 약점을 파악하는 것이며, 두 번째는 허용할 수 없는 취약점을 해결하는 것입니다.

앞 절에서 논의했듯이, 시스템의 보안은 해당 시스템 내 “가장 약한 고리(weakest link)”의 보안 수준만큼만 강합니다 — 그것이 사람이든 전자 장치든 관계없이 말입니다. 따라서 모든 “고리” 또는 취약점을 식별하고, 이를 적절히 우선순위화하여 대응할 수 있도록 하는 포괄적인 접근이 필요합니다.

이러한 접근은 일반적으로 자동화 시스템 및 네트워크를 책임지는 조직에서 개발하고 적용하는 “프로그램(program)”의 형태를 취합니다. 이 프로그램의 정확한 형태나 소유 주체는 중요하지 않습니다. 전체 기업 IT 보안 프로그램의 일부일 수도 있고, 별도의 운영 프로그램이나 설계 프로세스 프로그램일 수도 있습니다. 운영 부서, IT 부서, 엔지니어링 부서가 소유할 수도 있으며, 통합 위험 관리 프로그램의 일부이거나 자동화 시스템 보안에만 집중된 프로그램일 수도 있습니다.

중요한 것은 이 프로그램이 관련된 모든 이해관계자들을 적극적으로 포함하고, IT, 운영, 기타 관점에서의 전문 지식을 활용해야 한다는 점입니다. 그리고 반드시 자동화 시스템 및 네트워크의 고유한 특성에 초점을 맞춰야 합니다. 단순히 “우리 회사의 IT 보안 프로그램에 포함되어 있다”고 말하는 것으로는 충분하지 않습니다 — 실제로 포함되어 있어야 하며, 자동화 시스템의 특수성을 다루기 위한 수많은 주의사항, 조건, 추가 조치들이 필요합니다.

이와 유사하게, 이러한 프로그램의 규모에 대한 단일한 “정답”은 없습니다. 해당 조직이 직면한 위험을 포괄적으로 다룰 수 있어야 하며, 그 결과 프로그램은 매우 단순할 수도 있고, 매우 복잡할 수도 있습니다. 이는 조직이 가진 취약성과 위험 수준에 따라 달라집니다.

이러한 전제 하에, 다음의 활동과 단계들은 자동화 시스템 및 네트워크 보안을 다루는 효과적인 프로그램을 개발하고 운영하는 데 있어 중요한 요소로 간주됩니다.

26.2.2 프로그램 개발 (Developing a Program)

보안 프로그램은 앞 절(26.2)에서 논의된 모든 요소를 포괄해야 합니다. 따라서 이는 단순히 바쁜 관리자나 엔지니어가 몇 번의 저녁 시간을 들여서 끝낼 수 있는 작업이 아닙니다. 그만큼 위험의 본질과 이를 최소화하는 것의 중요성에 대해 조직 전체가 이해하고 동의해야 합니다.

이 프로그램은 최고 경영진의 지원을 받아야 하며, 고위험 취약점을 식별하고 우선순위를 정하며, 이를 해결하기 위한 자원을 확보할 수 있을 만큼 충분한 우선순위를 가져야 합니다. 모든 구성원이 자신의 역할을 수행해야 하며, 그것이 단지 위험을 이해하고 사회공학(social engineering)에 대한 면역력을 갖추는 것이라도 말입니다.

이를 위해 일반적으로 다음과 같은 활동이 필요합니다:

  • 비즈니스 타당성 (The business case) 효과적인 자동화 시스템 및 네트워크 보안 프로그램은 모든 수준의 경영진의 지원이 필요합니다. 이를 얻기 위해 경영진은 일반적으로 위험과 이를 최소화하는 데 드는 비용을 거시적 관점에서 이해하고자 합니다. 즉, 이러한 프로그램을 개발해야 하는 “비즈니스 타당성”을 보고 싶어합니다. 산업 단체들은 각 산업에 적합한 맥락을 제공할 수 있으며, 일부는 보안 프로그램에 대한 지침이나 요구사항을 이미 마련해두었습니다. 어떤 경우든, 모든 조직은 시스템이 작동하지 않거나 오작동할 경우의 비용을 정량화할 수 있어야 합니다. 실제로 많은 조직들이 현재의 자동화 시스템 및 비즈니스 시스템과의 통합을 정당화하기 위해 이를 수행해왔습니다. 사이버 보안 취약성은 새로운 실패 메커니즘이며, 이를 수용 가능한 수준으로 줄이기 위한 비즈니스 타당성이 필요합니다.

  • 리더십의 약속, 지원, 자금 확보 (Leadership commitment, support, and funds) 모든 이해관계자는 이 활동이 중요하다는 것을 알고 있어야 하며, 성공에 대한 책임을 져야 합니다. 노력의 범위는 위험 수준에 비례해야 하며, 자금도 위험과 범위에 상응해야 합니다.

  • 프로그램의 헌장 및 범위 (Charter and scope of program) 프로그램에 대한 서면 헌장과 범위 정의가 필요합니다. 이 부분은 다른 많은 “프로그램” 관련 논의와 마찬가지로, 기존의 기업 프로그램에 통합하면 더 빠르고 비용 효율적인 결과를 얻을 수 있습니다. 동시에 자동화 시스템의 고유한 특성은 이해관계자에게 명확히 전달되어야 하며, 구체적으로 다루어져야 합니다.

  • 팀 구성 (Building the team) 이는 모든 프로그램의 성공을 좌우하는 핵심 요소입니다. 전통적으로 IT 조직과 운영 또는 엔지니어링 조직 간에는 자동화 시스템을 둘러싼 조직 간 갈등이 존재해왔습니다. 그러나 이러한 갈등에 시간과 에너지를 낭비할 여유는 없습니다. 두 분야의 전문성이 모두 필요합니다 — 취약점을 식별하고, 문제를 해결하려다 오히려 더 큰 문제를 일으키지 않도록 대응책을 개발하며, 조직의 모든 수준에서 운영 시설의 요구를 충족하는 효과적인 대응을 구현해야 합니다. 또한 건설, 공급업체, 계약업체 등 다양한 이해관계자들도 참여할 수 있습니다. 프로그램은 이 모든 영역을 다루어야 하며, 효과를 위해서는 이들 모두의 참여와 동의가 필요합니다. 그들을 여러분의 팀의 일원으로 만드십시오.

  • 교육 (Training) 앞서 언급했듯이, 사회공학에 대한 대응과 비밀번호를 메모지에 적어두지 않는 것 등은 모든 직원이 교육받아야 할 세부 사항 중 일부입니다. 교육은 여러 수준에서 필요합니다 — 모든 직원에게는 인식 수준의 교육과 사회공학 함정 회피 교육이 필요하며, 프로그래머, 엔지니어, 운영자에게는 시스템 설계부터 제어실 운영에 이르기까지 모든 단계에서 위험을 최소화하는 방법에 대한 교육이 필요합니다. 핵심은, 사람은 가장 약한 고리가 될 수 있으므로, 그들의 이해 부족을 해결하고 올바른 행동을 할 수 있도록 지식을 제공해야 한다는 점입니다.

  • 기업 정책 (Corporate policy) 여기서 말하는 정책은 비밀번호에 몇 개의 문자와 어떤 유형이 필요한지를 다루는 세부 정책이 아니라, 조직이 특정 주제를 어떻게 다루어야 하는지에 대한 전반적인 기업의 관점입니다. 자동화 시스템 및 네트워크 보안에 대해 명시적으로 언급하는 정책 성명서를 갖는 것은 필수입니다. 이는 경영진의 약속과 지원을 보여주는 증거이며, 자동화 시스템 및 네트워크 보안이 고유하며 신중하게 다루어져야 함을 인정하는 것입니다.

  • 조직 구성 (Organization) 정책 및 기타 요소에 따라 조직 내 역할을 정의하는 것도 프로그램 개발의 중요한 부분입니다. 누가, 어떤 부서가 책임을 지는지, 그리고 다른 이해관계자들과 어떻게 협력할 것인지 정의해야 합니다. 대부분의 조직은 프로그램을 효과적으로 개발하고 운영하기 위해 단일 책임자를 지정할 필요가 있습니다.

26.2.3 위험 목표 정의 (Defining Risk Goals)

  • 어떤 위험이 있으며, 무엇이 허용 가능한가? 보안 프로그램은 보안 부족으로 인한 위험을 식별하고, 조직이 수용할 수 있는 위험 수준을 정의하는 목표와 요구사항을 포함해야 합니다. 이러한 목표는 생산 영향이나 기타 측정 기준으로 표현될 수 있으며, 이를 통해 보안 팀과 경영진이 필요한 조치를 결정할 수 있습니다. 이 목표는 유사한 위험에 대한 처리 수준과 균형을 이루어야 하며, 지식이 축적되고 취약점 및 대응책이 더 잘 이해됨에 따라 동적으로 변화할 수 있습니다. 어떤 경우든, 이러한 목표는 제어 시스템 및 네트워크 보안 프로그램의 범위와 수준을 판단하는 기준틀로서 필요합니다.

26.2.4 기존 시스템 평가 및 정의 (Assessing and Defining Existing System)

  • 인벤토리 및 맵핑 (Inventory and mapping) 이는 자동화 시스템 및 네트워크에 실제로 사용되는 하드웨어와 소프트웨어를 대상으로 하는 첫 번째 본격적인 단계입니다. 장비, 네트워크, 소프트웨어에 대한 포괄적인 인벤토리 및 맵핑을 개발하는 데 필요한 정보는 ISA 기술 보고서(Technical Reports)에 자세히 나와 있습니다. 맵이 포괄적이어야 하며, 시스템 및 네트워크의 물리적, 논리적, 전자적 경계를 정의하는 것이 이후 작업의 필수 기반입니다. 여기에는 모든 시스템 및 네트워크 연결 — 사람 인터페이스뿐만 아니라 전자 인터페이스 — 의 식별이 포함됩니다.
  • 모든 연결성 식별 (Identification of all connectivity) 모든 연결성을 식별하는 것은 필수입니다. 여기에는 시스템 경계가 어떻게 침해될 수 있는지, 위험이 너무 클 경우 어떤 지점에서 대응책을 취해야 하는지를 정의하는 작업이 포함됩니다. 모든 연결을 찾아내고 그 특성을 정의하기 위해 각별한 주의가 필요합니다. 이는 이더넷 포트와 같은 명백한 연결뿐만 아니라, 운영자 및 엔지니어링 인터페이스, 플로피 드라이브, USB 포트, 모뎀 연결 등도 포함됩니다. 이러한 연결을 분류하는 데 많은 시간이 소요될 수 있지만, 오히려 모든 연결을 잠재적인 침입 지점으로 간주하고, 해당 벡터로부터의 공격을 처리할 수 있도록 시스템 보안을 준비하는 것이 더 생산적일 수 있습니다. 여기서 중요한 점은 연결의 “의도된 목적”은 종종 중요하지 않다는 것입니다. 연결의 크기나 중요성은 그것이 시스템이나 네트워크를 공격하는 데 어떻게 사용될 수 있는지의 관점에서만 중요합니다. 중요한 시스템 구성 요소로 이어지는 모든 네트워크 경로는 반드시 식별되고 대응되어야 합니다.

26.2.5 위험 평가 및 격차 분석 수행 (Conducting Risk Assessment and Gap Analysis)

  • 위협, 관련 위험, 허용되지 않는 위험 식별
  • 시스템, 시스템 경계, 연결 또는 접근 지점이 식별되면, 각 지점에 제공된 보안의 유형과 특성에 따라 해당 취약점을 평가할 수 있습니다. 이 취약점은 프로그램에서 설정한 위험 목표 또는 목적과 비교됩니다. 위험이 목표를 초과하는 경우, 반드시 대응책(countermeasures)이 필요합니다.

26.2.6 대응책 개발 (Developing Countermeasures)

허용할 수 없는 위험이 정의되면, 이를 해결하고 위험을 수용 가능한 수준으로 낮추기 위한 대응책(countermeasures)이 필요합니다. 대응책은 비밀번호 강화부터, 기본적인 보안 기능(예: 접근 자동화)을 제공하지 못하는 레거시 자동화 시스템에 보안 계층을 추가하거나, 시스템을 외부 세계와 완전히 분리하는 것까지 다양할 수 있습니다.

26.3절에서는 여러 기술이 제안되어 있으며, 그 외의 기술들도 함께 고려할 수 있습니다. 일부는 단순히 구성(configuration)만으로 해결될 수 있지만, 다른 경우에는 새로운 장비나 시스템이 필요할 수 있습니다. 어떤 경우든, 위험이 허용 수준을 초과하는 경우에는 반드시 조치를 취해야 합니다.

26.2.7 구성 요소, 통합, 설치 후 테스트 계획 정의 (Define Component, Integration, Post Installation Test Plans)

대응책이 설계되거나 구매된 후에는, 해당 대응책이 시스템에 더 큰 문제를 일으키지 않는지 철저히 테스트해야 합니다. 일반적으로 이러한 테스트는 운영 중인 생산 자동화 시스템이나 네트워크에서 수행해서는 안 됩니다. 제조업체가 테스트 또는 인증을 제공할 수 있으며, 일부 조직은 자체 교육 또는 테스트 시스템을 보유하고 있을 수 있습니다. 사용자 그룹이 공급업체와 협력하여 테스트를 수행할 수도 있고, 국가 연구소가 테스트를 지원할 수도 있습니다. 핵심은, 바이러스 업데이트, 운영 체제 패치, 구성 변경, 새로운 방화벽 등 어떤 “수정”도 생산 시스템에 적용하기 전에 반드시 다른 환경에서 테스트해야 한다는 것입니다. 전체적인 관점에서 보면, 이는 다른 시스템 통합 활동과 다르지 않습니다. 변경 사항을 개발한 후에는 운영 시스템에 적용하기 전에 철저히 검토하고 테스트하는 것이 일반적인 좋은 관행입니다.

26.2.8 운영 보안 조치 최종화 및 적용 (Finalize & Implement Operational Security Measures)

대응책이 개발되고 테스트되면, 필요한 곳에 적용됩니다. 이는 조직이 다른 변경 사항을 적용할 때와 동일한 방식으로 수행되며, 적절한 조정, 제어, 직원 교육, 문서화 및 일반적으로 적용되는 모든 요소들이 포함되어야 합니다.

26.2.9 정기 보고 및 분석 (Routine Reporting and Analysis)

시스템 로그, 네트워크 트래픽, 침입 탐지 결과 및 기타 정보를 검토하고, 공급업체 및 다른 사용자들이 식별한 새로운 위협을 검토하는 것은 지속적인 과정입니다. 시스템 성능을 모니터링할 때는 외부 또는 내부 침입 가능성을 고려하며, 그러한 문제의 징후를 분석하여 추가 대응책이 필요한지를 판단합니다.

26.2.10 정기 감사 및 준수 확인 (Periodic Audit and Compliance)

보안 프로그램은 실제로 실행되고 있으며, 자동화 시스템 및 네트워크 침입의 잠재적 위험을 효과적으로 다루고 있는지를 확인하기 위해 감사 또는 검토되어야 합니다.

26.3 기본 시스템 및 네트워크 보안 기술 (Basic System and Network Security Techniques)

다음 항목들은 오늘날 자동화 시스템 및 네트워크를 보호하기 위해 사용되는 대부분의 도구와 기술을 나열한 것입니다. 상황에 따라 모두 적절하게 적용될 수 있으며, 보안 프로그램에서 더 높은 수준의 보안이 필요하다고 판단될 때 적용 가능한 대응책(countermeasures)입니다.

각 도구 또는 도구 세트는 장단점이 있으며, 자동화 시스템 및 네트워크에 적용할 때 특별히 고려해야 할 사항들이 있습니다. 이러한 기술과 그 제한 사항에 대한 상세한 논의는 이 장의 범위를 넘어서는 내용이며, ISA 기술 보고서에서는 이 주제에 대해 80페이지에 걸쳐 다루고 있습니다.

이러한 기술을 선택하고 배포할 때 고려하고 적용해야 할 몇 가지 기본 원칙이 있습니다.

26.3.1 자동화 시스템 및 네트워크 보안을 향상시키기 위한 기술 활용 (Using Technologies to Improve Automation Systems and Network Security)

  • “할 수 없다”는 주장을 받아들이지 마십시오.
  • 위험 분석을 통해 보안이 중요하다는 것이 입증되었고, 사용 중인 레거시 시스템이 필요한 기능을 지원하지 못한다면, 필요한 기능을 제공할 수 있도록 시스템을 캡슐화하거나 보완하는 방법을 찾아야 합니다. 또는 시스템을 외부 연결로부터 분리하여 위험을 제거할 수도 있습니다. 위험을 방치하지 마십시오.
  • “심층 방어(defense in depth)” 개념을 적용하십시오.
  • 하나의 방어벽만으로 자동화 시스템과 네트워크에 대한 침입을 막을 수 있다고 가정하지 마십시오. 이는 비용 및 기타 실용적인 고려사항과 균형을 이루어야 합니다. 그러나 생산 또는 안전과 관련된 중요한 자동화 시스템일수록 이 개념은 더욱 중요해집니다. 이러한 시스템 내에서도 특히 중요한 기능이나 데이터는 추가적인 보호가 필요할 수 있습니다.
  • 예를 들어, 대규모 전용 자동화 네트워크에서 교환되는 중요한 공정 매개변수는 다양한 이유로 암호화가 필요할 수 있습니다. 중요한 데이터의 경우, 다양한 측정을 통해 데이터를 재계산하여 그 유효성을 추가로 보장할 수 있습니다. 자동화 시스템 또는 네트워크에서 핵심 매개변수를 변경할 수 있는 권한은 일반 운영 매개변수보다 더 제한된 사용자나 시스템 구성 요소에만 부여될 수 있습니다.
  • 심층 방어는 원자력 발전소나 중요한 IT 네트워크에만 적용되는 것이 아닙니다(Microsoft에서도 권장). 자동화 시스템에서도 좋은 관행이며, 단 시스템의 응답성이나 신뢰성을 저해하지 않도록 주의가 필요합니다.

26.3.2 인증 및 권한 부여 (Authentication and Authorization)

  • 역할 기반 권한 부여 도구 (Role Based Authorization Tools)
  • 비밀번호 인증 (Password Authentication)
  • 챌린지-응답 인증 (Challenge Response Authentication)
  • 물리적/토큰 인증 (Physical/Token Authentication)
  • 스마트 카드 인증 (Smart Card Authentication)
  • 생체 인증 (Biometric Authentication)
  • 위치 기반 인증 (Location-Based Authentication)
  • 비밀번호 배포 및 관리 기술 (Password Distribution and Management Technologies)
  • 장치 간 인증 (Device-to-Device Authentication)

26.3.3 필터링/차단/접근 제어 (Filtering/Blocking/Access Control)

  • 전용 하드웨어 기반 방화벽 (Dedicated Firewalls)
  • 호스트 기반 소프트웨어 방화벽 (Host-based Firewalls)
  • 가상 로컬 영역 네트워크 (Virtual Local Area Networks, VLANs)

26.3.4 암호화 및 데이터 검증 (Encryption and Data Validation)

  • 대칭(개인) 키 암호화 (Symmetric (Private) Key Encryption)
  • 공개 키 암호화 및 키 배포 (Public Key Encryption and Key Distribution)
  • 가상 사설망 (Virtual Private Networks, VPNs)
  • 디지털 인증서 (Digital Certificates)

26.3.5 감사, 측정, 모니터링 및 탐지 도구 (Audit, Measurement, Monitoring and Detection Tools)

  • 로그 감사 유틸리티 (Log Auditing Utilities)
  • 바이러스/악성 코드 탐지 (Virus/Malicious Code Detection)
  • 침입 탐지 시스템 (Intrusion Detection Systems)
  • 네트워크 취약성 스캐너 (Network Vulnerability Scanners)
  • 네트워크 포렌식 및 분석 도구 (Network Forensics and Analysis Tools)
  • 호스트 구성 관리 도구 (Host Configuration Management Tools)
  • 자동 소프트웨어 관리 도구 (Automated Software Management Tools)

26.3.6 운영 체제 (Operating Systems)

  • 서버 및 워크스테이션 운영 체제 (Server and Workstation Operating Systems)
  • 실시간 및 임베디드 운영 체제 (Real-time and Embedded Operating Systems)
  • 웹 및 인터넷 기술 (Web and Internet Technologies)

26.3.7 물리적 보안 (Physical Security)

  • 물리적 보호 (Physical Protection)
  • 인력 보안 (Personnel Security)

26.4 자동화 시스템 및 네트워크 보안에 대한 결론

앞으로는 모든 자동화 시스템 객체가 사용자에게 보안이 자연스럽게 적용되도록 적절한 보안 속성(Security Attributes)과 기능(Capabilities)을 갖추게 될 것입니다. 시스템 구성 요소들은 자신들이 처리하는 정보의 취약성(Vulnerability)과 중요성(Significance), 그리고 수행하는 작업의 중요성에 따라 적절한 조치를 취하여 해당 정보의 유효성(Validity)을 보장하고, 다양한 형태의 사이버 공격(Cyber Attack)으로부터 스스로를 보호하게 될 것입니다.

하지만 그러한 환경이 마련되기 전까지는 자동화 시스템 및 네트워크 엔지니어, IT 전문가, 공급업체(Vendors), 유지보수 인력(Maintenance Personnel), 운영자(Operators) 등 자동화 시스템과 네트워크를 다루는 모든 관계자들이 해당 시스템의 전체 수명 주기(Lifecycle) 동안 보안을 신중하게 고려해야 합니다.

이처럼 다양한 요소를 고려해야 하므로, 제조업체들은 포괄적인 보안 관리를 수행할 수 있도록 효과적인 프로그램을 마련해야 하며, 적용하는 보안 기술(Security Technologies)의 자동화 시스템 중심적 한계(Limitations)를 면밀히 검토하고 이해할 필요가 있습니다. 이러한 프로그램은 본 장에서 개요가 제시되며, 자세한 내용은 ISA SP99의 기술 보고서(Technical Reports) 및 표준(Standards)에 포함되어 있습니다.