ClickCease 패치의 다양한 얼굴

콘텐츠 표

인기 뉴스레터 구독하기

4,500명 이상의 Linux 및 오픈소스 전문가와 함께하세요!

한 달에 두 번. 스팸이 없습니다.

패치의 다양한 얼굴

조아오 코레이아

2022년 11월 28일 기술 에반젤리스트

시스템을 최신 상태로 유지하는 방법은 여러 가지가 있으며, 각 방법마다 장단점이 있습니다. 소위 '패치'라고 불리는 방법 중에는 패치를 전혀 하지 않는 방법도 있습니다. 이 가이드는 시중에 나와 있는 다양한 패치 방법을 이해하기 위한 원스톱 가이드입니다.

패치는 IT 프로세스이자 기본적인 보안 관행입니다. 일반적으로 패치는 기존 구성 요소를 업데이트된 구성 요소로 추가하거나 교체하여 특정 시스템에 문제를 해결하거나 기능을 추가하는 프로세스로 설명됩니다. 이는 하위 시스템, 종속성 또는 핵심 기능 수준에서 코드를 업데이트하는 등 다양한 수준에서 수행할 수 있습니다. 마찬가지로 특정 애플리케이션, 운영 체제, 드라이버 또는 기타 구성 요소를 패치할 수도 있습니다.

패치를 적용하는 대상에 대해 항상 최신 버전을 적용하는 것이 목표이지만, 이를 달성하는 방법은 여러 패치 접근 방식 간의 차별화 요소입니다. 

디버깅과 같은 IT의 다른 용어와 마찬가지로 패치는 물리적 프로세스에서 파생됩니다. 펀치 카드의 구멍을 실제로 덮는 것, 즉 코드의 한 부분을 "패치"하는 것을 의미합니다. 이 방식은 유행이 지난 것 같으므로 대신 더 현대적인 접근 방식을 다루겠습니다.

기존 패치 적용

이것이 대부분의 사람들이 패치로 인식하는 것입니다. 특정 소프트웨어의 업데이트된 버전을 다운로드한 다음 디스크의 해당 파일을 새 버전으로 교체하는 작업으로 구성됩니다.

구현이 비교적 간단하고 이해하기도 쉽습니다. 특정 소프트웨어의 이전 버전을 전체 또는 부분적으로 새 버전으로 교체하는 것입니다. 새 버전을 선택하려면 애플리케이션을 다시 시작하거나 시스템을 재부팅해야 하지만 다른 움직이는 부분은 없습니다. 물론 애플리케이션을 다시 시작하거나 전체 시스템을 재부팅하는 작업은 실행 중인 워크로드에 심각한 중단을 초래하는 느린 작업이라는 가장 큰 단점도 있습니다. 따라서 임시방편으로 수행할 수 있는 작업이 아니므로 일반적으로 시스템 가용성 또는 성능 문제가 예상되는 사전 승인된 기간인 "유지 보수 기간"에 수행됩니다. 

다시 말하지만, 이 방법은 설정 속도가 느리고 문제가 발생할 경우 예상 시간을 초과하기 쉽습니다.

가상 패치 적용

이것은 이름에 "패치"가 포함되어 있고 액면 그대로 패치 결과를 제공하는 것처럼 보이지만 실제로는 완전히 다른 수준에서 작동합니다. 가상 패치에서는 실제 코드 교체나 수정이 이루어지지 않습니다. 가상 패치. 가상 패치는 방화벽 수준에서 위협 탐지를 구현하여 알려진 공격 패턴을 차단하는 것으로 구성됩니다. 공격자 입장에서는 공격이 실패하기 때문에 실제로는 패치가 적용되지 않았는데도 시스템이 패치된 것으로 간주할 수 있습니다.

이 '패치' 방법에는 몇 가지 단점이 있습니다. 알려진 공격 패턴만 보호하므로 실제로 수정된 코드가 시스템에 적용되지 않으며, 로컬 전용 문제는 즉시 무시되고 특정 위협에 해당하는 네트워크 트래픽의 수정으로 속일 수 있습니다. 

이러한 단점에도 불구하고 이 '패치 적용' 방법의 장점은 시스템 중단이 없고(실제로 시스템 내부에서는 아무것도 수행되지 않으므로), 단일 배포로 여러 시스템을 커버할 수 있으며(실제로는 수정된 애플리케이션 방화벽 프로세스), 새로운 원격 전용 위협이 추가되면 그 뒤에 있는 시스템을 즉시 보호할 수 있다는 점 등입니다.

펌웨어 패치 적용

펌웨어 업데이트는 기존 패치의 특정 사례이며, 일반적으로 업데이트하기 어려운 저장 매체에 포함된 코드를 다음과 같이 직접 패치한다는 주의 사항이 추가되었습니다. EPROM (지울 수 있는 프로그래밍 가능 읽기 전용 메모리) 칩에 직접 패치한다는 주의가 필요합니다. 이는 초기 스마트 디바이스 및 1세대 IoT 디바이스에서 주로 사용되던 방식입니다. 소프트웨어는 공장 출하 시 로드되어 업데이트가 거의 이루어지지 않았습니다. 이는 부분적으로는 업데이트와 보안이 오늘날처럼 주요 관심사가 아니었기 때문이기도 하지만, 소프트웨어가 저장되는 방식이 업데이트하기 어려웠기 때문이기도 합니다. 최신 디바이스에서는 코드의 전체 또는 일부가 SSD, SD 카드 등과 같은 보다 표준적인 미디어에 기록되어 수정하기가 훨씬 쉽습니다.

전용 소프트웨어 요구 사항과 케이블을 사용하여 특수한 쓰기 하드웨어에 연결해야 하는 칩에서 코드를 실행해야 하는 경우, 전체 프로세스가 복잡해져 대부분의 IT 팀에서 선호하지 않는 경우가 많았습니다. 그 결과, 이러한 디바이스는 전체 수명 기간 동안 한 번도 업데이트를 받지 못했습니다. 안타깝게도 프린트 서버, IP 카메라, 데이터 센터 센서 등이 여전히 이러한 방식으로 작동하는 디바이스의 좋은 예입니다.

라이브 패치

라이브 패치는 실행 중인 코드를 수정하고 버그가 있는 것으로 알려진 섹션 또는 함수를 동일한 섹션의 수정된 버전으로 교체하는 프로세스입니다. 이 작업은 전적으로 메모리에서 수행되며 새로운 변경 사항을 적용하기 위해 애플리케이션을 다시 시작할 필요가 없습니다. 소프트웨어에 함수에 버그가 있는 경우 다음 순간에 해당 함수의 수정된 버전이 대신 사용될 수 있습니다. 

재시작, 재부팅, 업무 중단이 없습니다. 따라서 유지 보수 기간이 필요하지 않으므로 패치를 즉시 배포할 수 있으므로 새로운 위협에 더 빠르게 대응할 수 있습니다. 기존 패치 배포 방식처럼 패치가 배포될 때까지 몇 주 또는 몇 달을 기다리지 않고 몇 시간 또는 몇 분 내에 패치를 배포할 수 있습니다.

라이브 패치의 복잡성은 패치 생성 시 발생합니다. 패치는 원본 코드와 동일한 변수 크기와 정렬을 사용하여 올바른 메모리 공간에 로드될 수 있도록 만들어야 합니다. 이러한 복잡성은 라이브 패치 제공자에게만 표시되므로 라이브 패치 솔루션의 사용자에게는 보이지 않습니다.

라이브 패치 서브시스템은 10년 넘게 Linux Kernel 내부에 패치를 배포할 수 있었으며, 다양한 솔루션이 만들어졌습니다. KernelCare Enterprise 는 이러한 솔루션의 한 예로, Linux Kernel, 중요 시스템 라이브러리, 데이터베이스, 심지어 하이퍼바이저까지 라이브 패치를 적용할 수 있습니다.

라이브 패치에는 임시 및 영구 패치를 포함하여 다양한 변형이 있습니다. 이는 라이브 패치 프로세스를 구현하는 방식과 관련이 있는데, 임시방편적인 솔루션 또는 기존 패치에 대한 보다 영구적인 대안이 될 수 있습니다.

결론

라이브 패치와 가상 패치에 대한 비교 정보는 라이브 패치와 가상 패치의 차이점에서, 영구 라이브 패치와 임시 라이브 패치의 차이점은 영구 라이브 패치와 임시 라이브 패치의 차이점은.

패치에 접근하는 방법에는 여러 가지가 있습니다. 시스템, 데이터 및 사용자의 보안을 유지하는 데 조금이라도 관심이 있는 조직이라면 패치는 전략 및 운영 수준에서 해결해야 하는 근본적인 문제 중 하나이며, 각 환경마다 고유한 특성이 있으므로 특정 상황에 맞는 프로세스를 선택해야 합니다. 

요약
패치의 다양한 얼굴
기사 이름
패치의 다양한 얼굴
설명
시스템을 최신 상태로 유지하는 방법은 여러 가지가 있습니다. 이 원스톱 가이드를 읽고 시중에 나와 있는 다양한 패치를 이해하세요.
작성자
게시자 이름
TuxCare
게시자 로고

Kernel 재부팅, 시스템 다운타임 또는 예정된 유지 보수 기간 없이 취약성 패치를 자동화하고 싶으신가요?

TuxCare로 라이브 패치에 대해 알아보기

TuxCare 게스트 작가 되기

시작하기

메일

가입

4,500

Linux & 오픈 소스
전문가!


뉴스레터 구독하기