1. 개요

    • Lazarus 해커그룹에서 사용한 C&C IP로 북한에서의 접근이 발견됨

2. 내용

    • 뉴스관련 요약
      • 2016년 Lazarus라는 해커 그룹에 의해 방글라데시 중앙은행에서 8천 1백만 달러(약950억원)가 필리핀과 스리랑카 은행 계좌로 빠져나가는 사고 발생
      • Lazarus는 악명 높은 사이버 스파이 조직으로 파괴적인 공격을 꾸준히 자행해왔으며 2009년 이래로 전 세계 18개국 이상의 다양한 제조 기업, 미디어 및 금융 기관을 해킹한 것으로 유명
      • 2015년 12월부터 대한민국, 방글라데시, 인도, 베트남, 인도네시아, 코스타리카, 말레이시아, 폴란드, 이라크 등 여러 국가에 소재한 투자 기업의 카지노 소프트웨어 개발자, 암호화 화폐 업체, 금융 기관에서 Lazarus 조직과 연관성이 있는 악성코드 샘플 발견
      • Lazarus 해커들은 해킹에 사용된 서버에서 로그파일을 모두 지우는 등의 방식으로 완전 범죄를 꿈꾸고 있기는 하나, Lazarus가 침투했던 한 서버에서 명령제어(C&C) 서버 테스트기간 동안 북한의 IP주소에서 접속한 정보를 남기는 치명적인 실수를 범함
      • 인터넷상에서 북한의 존재가 확인된 것은 극히 드물며, 북한이 무작위로 접속하다가 Lazarus와연결됐다고 볼 가능성은 극도로 낮음
      • 해킹해 춤친 돈으로 핵과 미사일 개발 프로그램에 사용하는 것으로 보여짐
    • 공격방식
      • 초기침투 - 원격 액세스가 가능한 취약 코드(cf. 외부 웹 서버에 존재)를 사용하거나 웹 사이트에 이식한 익스플로잇을 통한 워터링홀 공격으로 은행 내부의 한 컴퓨터가 악성코드에 감염돼 은행의 다른 구성요소까지 침투
        ※ 워터링홀 공격 : 공격대상 사용자들이 주로 방문하는 웹 사이트를 조사하여, 감염시키고 피해 대상이 그 웹사이트를 방문할 때까지 기다리는 웹 기반 공격
      • 발판 만련 - 다음으로 다른 은행 컴퓨터로 이동해 백도어를 구축
        ※ 백도어 : 악성코드를 통해 해커들이 언제든지 드나들 수 있는 문과 같은 개념
      • 내부 정찰 - 이후 Lazarus는 상당 시간 해당 네트워크를 분석하고 중요한 리소스를 파악. 리소스로는 인증 정보가 저장된 백업 서버, 메일 서버, 회사의 각 보안 액세서에 대한 암호가 포함된 도메인 컨트롤러 전체, 금융 거래기록 저장/처리 서버 등
      • 전달 및 절도 - 마지막으로 금융 소프트웨어의 내부 보안 기능을 우회하고 은행을 대신해 악의적인 거래를 생성하는 특수 악성 코드를 구축


1. 개요

  • 새로운 기법을 사용한 금융 악성코드(DRIDEX)가 위장 유포된 것이 발견됨


2. 내용

  • 뉴스관련 요약
    • 2016년 초반까지 활발하게 진행되던 금융 관련 트로이목마 중에서 가장 위험한 유형에 속하는 사기 도구로 주모자 체포 및 서버 폐쇄로 감소세를 보이는 듯 했으나 스팸메일의 급증(소스코드를 팔았거나 유출 추측)이 확인됨
    • 금융 악성코드인 드라이덱스(DRIDEX)가 AtomBombing 기법을 탑재해 점점 강해지는 한편, 자신을 숨기기 위해 한글 키보드 드라이버 프로그램으로 위장
      ※ AtomBombing 기법
      악성코드 주입 기술로 공격에 동원될 수 있는 코드를 아톰 테이블(atom table)이라는 윈도우 요소에 삽입하는 기법이며 아톰 테이블은 거의 모든 버전의 윈도우에 존재하며 특정 애플리케이션 데이터를 저장하는데 활용됨. 취약점을 악용하는게 아니라 윈도우라는 운영체제의 기본적인 기능 자체를 악용. 입력 확인 과정에서 나타나는 오류를 악용한 코드 주입 기술로 현존하는 보안 솔루션이나 장치들로는 발견하기가 매우 어려우며,어지간한 윈도우 패치로도 고치는게 불가능하나 이미 다른 방법으로 감염이 된 시스템이어야 제대로 활용이 가능함
    • 순천향대 사이버보안연구센터(센터장 염흥열 교수)는 공격자가 한글 키보드로 위장한 것은 잠재적으로 한국 사용자들도 공격 대상으로 보는 것으로 추정
    • 미국, 영국, 호주, 브라질, 중국, 독일, 일본 등의 사용자를 주 타킷을 공격하였으나 한국에서도 감염 사례가 보고되었고 남미, 아프리카 등 특정 국가나 지역에 국한되지 않고 100개가 넘는 국가에서 활동 중으로 전 세계적인 문제가 되어가고 있음
    • 900개가 넘는 조직 및 기관의 신용카드 정보가 모아졌으며, 백만 개가 넘는 신용카드의 정보가 DRIDEX 공격에 활발히 활용되고 있음
  • 공격방식
    • '인보이스(invoise) 또는 알림(Notifications)'이라는 일반적인 메일 제목 대신 '계정 정보 노출(Account Compromised)'이라는 문구로 사용자의 두려움을 자극해 클릭을 유도
    • 매크로를 사용하는 것과 더불어 인증서 서비스 관련 커맨드 라인 도구인 Certutil을 활용해 공인인증서(PFX)로 위장한 악성 데이터를 Base64로 디코딩하여 탐지가 어렵게 함
      ※ Certutil : 마이크로소프트의 공인 인증서 관리도구
      ※ Personal Information Exchage (확장자 .PFX) : 공개 키와 개인 키를 저장하는 데 사용되는 파일 형식
    • 메일 본문에는 제3자가 로그온을 시도했다는 내용과 함께 IP주소가 적혀있으나, 어떤 유형의 계정 정보(cf. 메일계정, 은행계정, 쇼셜미디어 계정)가 노출되었는지 안내하지 않음
    • ZIP으로 압축된 word 파일을 첨부하는데 압축을 해제하여 실행하면 빈 문서가 나타나고 매크로를 실행할 것을 지시함
    • 매크로를 실행하면 확장자 .PFX 파일이 생성되고 Certutil이 Base64 텍스트 파일을 디코딩하여 .PFX를 .EXE 파일로 변환(매크로 활성 시 DRIDEX 활동 시작)
    • PFX 파일과 Certutil을 이용하여 악성 파일을 정규 인증서로 통과시킬 수 있으며 감염된 PC에서 악성 파일을 정규 인증서로 인식하게 되면 이후에는 같은 인증서 또는 악성 파일도 탐지되거나 차단되지 않음
    • DRIDEX는 온라인 뱅킹 세션을 하이재킹해서 피해자의 계좌에서 범인의 계좌 혹은 사기 계좌로 돈을 인출시키는 등 로그인 정보를 훔치는 건 기본이고 자동이체시스템에도 침투하여 신용카드 정보도 훔치


1. 개요

  • 국내 대표 종합 숙박 O2O '여기어때(위드이노베이션)'에서 해킹으로 인한 고객 정보 유출 사고 발생

2. 내용

  • 뉴스관련 요약
    • 중국 IP를 통해 접속한 해커가 여기어때 데이터베이스(DB)에 침투해 약 4,000건의 고객정보를 유출
    • 유출된 내용은 이름과 전화번호, 이메일, 숙소 등의 관련 정보로 파악
    • 동일한 날에 국내 다른 웹사이트도 동일한 중국 IP 주소로 해킹을 당함
    • 해커가 숙박 서비스 이용과 관련된 성적 수치심이나 불쾌감을 유발하는 내용등을 몇몇 고객에게 문자 전송함
    • 해커가 여기어때 측에 메일을 통해 비트코인을 요구하며 금전적 이익을 얻기위해 고객 정보를 해킹하고 해당업체를 협박함
      ※ 비트코인은 가상화폐로 소유자를 추적하기 어려움
  • 공격방식
    • 이미 잘 알려진 SQL 인젝션 공격으로 공격자가 주소창이나 아이디, 비밀번호 입력창에 명령어를 입력하고 웹사이트에 침투, 서버에서 정보를 탈취하는 기법
    • 흔히 알려진 웹 취약점 관련 보안 패치와 업데이트 등 보안관리에 소홀했던 것으로 보임


1. 개요

  • 중국 해커조직이 한국 내 사드(THAAD, 고고도 미사일방어체계) 배치 보복 차원으로 오는 3월 28일부터 한국 웹사이트를 총공격할 것으로 알려짐

2. 내용

  • 뉴스관련 요약
    • 중국의 해커조직인 '홍커연맹'은 한국 사이트를 대상으로 대규모 해킹을 계획
      ※ 홍커연맹은 홍커(紅客, Red Hacker)라 불리는 중국 사이버 공격자들의 집단으로 1999년 북대서양조약기구(NATO) 소속 미국 공군기가 세르비아 베오그라드에 있는 중국 대사관을 폭격한 사건을 계기로 지난 2000년 연맹을 결성
    • 지난 3월 15일부터 31일까지 준비기간으로 정하고, 3월 22일 오후 7시 30분까지 공격에 참여할 해커들을 모집
    • 중국 포털 사이트인 바이두에서 SQL인젝션 공격 툴을 공유하는 등 한국 웹사이트 공격을 위한 준비 작업 중
      ※ 한국인터넷진흥원(KISA)에서 공격도구를 입수해 분석한 경과 그동안 많이 알려진 기법이라고 함
    • 공격 개시 예정일은 오는 28일부터 31일까지로 정부부처, 공공기관, 민간기업의 상당한 피해가 예상
    • SQL인젝션 공격 외 예상되는 공격으로 홈페이지 화면을 변조시켜 자신들의 메시지들을남기는 디페이스 공격이나 대규모의 트래픽을 발생시켜 웹사이트접속을 마비시키는 디도스 공격이 될 가능성이 높음


1. 개요

  • 국내 금융사를 표적한 북한발 사이버 공격 감지
  • 클라이언트기반 컴퓨팅(CBC) 망분리 솔루션의 취약점을 악용한 악성코드 발견

2. 내용

  • 뉴스관련 요약
    • 금융권에 따르면 최근 국내 망분리 솔루션의 취약점을 공격하는 악성코드가 발견됨
    • 공격자는 A은행이 사용하고는 B사 망분리 관리 솔루션(CBC방식) 취약점을 공격하는 악성코드를 개발 및 배포한 것으로 파악
    • 해당 악성코드는 지난 2015년 11월 미국 소니픽처스 내부정보 유출 및 PC 파괴에 사용된 것과 유사
    • 감염 PC 내부정보를 수집한 뒤 명령&제어(C&C) 서버로 전송하고 추가 악성코드를 내려 받는 기능을 가지고 있음


1. 개요

  • 20일 새벽 4시 35분경 아시아나항공 홈페이지가 익명의 해커집단으로부터 해킹을 당함
  • 이번 해킹은 아시아나 항공의 홈페이지가 아닌 DNS서버를 운영하는 도메인 관리업체가 해킹을 당함
  • 현재까지 확인된 악성코드 감염, 개인정보 유출 등의 피해 없음

2. 내용

  • 공격방식
    • 아시아나 항공의 홈페이지가 아닌 도메인 관리업체 서버해킹
      • 도메인 주소를 IP주소로 바꿔주는 DNS 업체가 해킹을 당함
      • 아시아나항공 도메인 주소(flyasiana[.]com)를 불가리아 IP(217[.]174[.]152[.]174)로 변조
    • 변조된 화면
      • '정의도 평화도 없다' 문구에 이어 "아시아나항공에 유감이지만, 세계는 알바니아가 세르비아에 저지른 범죄에 대해 알아야 한다"는 메시지 게재
      • 해커는 'Kuroi'SH and Prosox'라는 이름으로 해킹을 했다는 메시지를 남겨놓고, 'Prosox Ma'는 자신의 트위터에 아시아나 항공이 해킹됐다는 사실을알림
    • 해킹된 홈페이지 정보를 제공하는 사이트(zone-h[.]org)
      • 아시아나 항공 홈페이지 주소가 불가리아 IP로 표시되고 있음


1. 개요

  • 19일 한국인터넷진흥원(KISA)에 따르면 핸디소프트 그룹웨어의 코드서명이 쓰인 악성코드가 유포된 사실을 파악
  • 해당 문제점은 지난 9일 처음 발견됐으며, 이니텍 때와 달리 업데이트 서버가 없다는 점에서 파급력이 크지 않을 것으로 보임
  • 현재까지 확인된 피해 없음

2. 내용

  • 공격방식
    • 이니텍 코드서명 유출과 동일한 공격으로 코드서명 유출
      • 이니텍 코드서명 유출 시 이니텍 전산서버를 해킹한 후 악성프로그램을 설치하고 이후 코드서명을 유출
      • 이니텍의 코드서명을 탑재한 악성프로그램을 만들어 국세청, 국토교통부, 서울시청 등 10개 기관에 유포
    • 탈취한 코드서명을 이용하여 악성코드 배포
    • 악성코드에 감염되면 국내 유명 백신을 무력화한 후 C&C 서버와 통신하며 내부 정보를 유출


[Debian 계열의 리눅스]

◎ 커널 헤더 패키지 설치

 # apt-get install linux-headers

※ linux-headers 는 설치시 정확한 패키지명을 지정하라는 메세지가 발생하는데 "uname -r"을 통해 버전을 확인하고 설치를 하면 됩니다.

 

◎ 개발에 필요한 기본 라이브러리와 헤더파일 등을 가지고 있는 패키지 설치

 # apt-get install build-essential

※ Debian 계열에서 make / compile 과 관련된 에러가 발생하면 build-essential 패키지를 설치해주면 됩니다.

 

◎ Dwarfdump 설치

 # apt-get install dwarfdump

dwartdump 를 설치합니다.

 

[Redhat 계열의 리눅스]

◎ 커널 헤더 패키지 설치

 # yum install kernel-devel

또는

 # rpm --install [패키지명]

 

◎ Libdwarf 설치

 # tar xvfz libdwarf-20170416.tar.gz

 # cd dwarf-20170416/libdwarf

 # ./configure

 # make

 # cd ../dwarfdump

 # ./configure

 # make

 # ln -s (dwarf dir)/dwarfdump/dwarfdump /usr/local/bin/dwarfdump

CentOS 의 경우 Libdwarf 를 자동으로 설치할 수 없기 때문에 소스를 다운로드 받아 수동으로 설치해야 합니다.

다운로드 경로 : https://www.prevanders.net/dwarf.html#releases

 

◎ 개발에 필요한 기본 라이브러리와 헤더파일 등을 가지고 있는 패키지 설치

 # yum install elfutils-libelf-devel

 

◎ 종합 

 # yum groupinstall "Development Tools" -y && yum install kernel-devel kernel-headers glibc* binutils elfutils elfutils-devel elfutils-libelf* gcc subversion

 

[공통]

◎ 볼라틸리티(Volatility) 설치

 # cd volatility

 # python ./setup.py install

다운로드 경로 : http://www.volatilityfoundation.org/26

 

◎ vtypes(kernel's data structures : 커널의 데이터 구조) 생성 

 # cd [volatility directory]/tools/linux

 # make

 # head module.dwarf

make를 진행하면 module.dwarf 파일과 system map file 이 생성됩니다.

 

◎ Symbols 가져오기

 # zip /[volatility directory]/volatility/plugins/overlays/linux/[profile name.zip] volatility/tools/linux/module.dwarf /boot/[make  이후 만들어진 system map file]

리눅스용 프로파일은 커널 데이터 구조와 디버그 심볼로 이루어진 압축 파일 형태로 만들면 됩니다. 이는 Volatility 가 커널 데이터 구조와 디버그 심볼을 통해 필요한 정보를 찾고 해석하기 때문입니다. 심볼은 System.map 파일 안에 있으며 /boot 디렉토리에 있습니다.

리눅스용 프로파일 생성은 make 시 생성된 module.dwarf 파일과 심볼 정보를 가지고 있는 System.map 파일을 zip 파일 형태로 압축하면 됩니다. 

 # zip linux_profile_name.zip module.dwarf /boot/system_map _file.map

만약 dwarf 파일이 생성된 폴더에서 zip 작업을 한다면 생성된 파일을

[volatility directory]/volatility/plugins/overlays/linux 디렉토리에 저장해줍니다.

 

 

◎ 프로파일 확인

 # python ./vol.py --info | grep Profile

volatility 의 info 옵션으로 프로파일이 정상적으로 등록되었는지 확인합니다.

 

[참조 URL]

https://github.com/volatilityfoundation/volatility/wiki/Linux

볼라틸리티(Volatility)를 설치해서 정상적으로 사용하려면 다음 3가지가 선행되어야 합니다.

1. 리눅스 프로파일 생성을 위한 유틸 설치

2. 커널 헤더 패키지 설치

3. 개발에 필요한 기본 라이브러리와 헤더파일 등을 가지고 있는 패키지 설치


해당 내용에 대해서 자세히 알아보겠습니다.

[리눅스 프로파일 생성을 위한 유틸]

볼라틸리티(Volatility)를 설치하면 생각보다 기본 프로파일(Profile) 이 적습니다. 때문에 Profile 을 만드는 작업이 필요하며 profile 을 만드는 유틸을 설치해야합니다.

◎ Libdwarf And Dwarfdump 

원래는 DWARF 2/3/4 Debug 포맷을 가지는 것에서 디버깅 정보를 뽑아내는 유틸인데 여기에서는 리눅스 프로파일 생성에 사용됩니다.


◎ libdwarf 란 무엇입니까?

Libdwarf 는 DWARF2, DWARF3, DWARF4 을 사용하여 응용 프로그램의 읽기(쓰기)를 단순화하기위한 C 라이브러리입니다. SGI 의 컴파일러 작성자 및 디버거 작성자의 업무를 단순화하기 위해 1991년 초 SGI (Silicon Graphics, Inc.)에서 작성되었으며 1990년대 중반에 오픈 소스로 제작되었습니다. SGPL 은 LGPL 버전 2.1에 저작권이 있습니다. ELF 오브젝트 파일에서 DWARF2/3/4 정보를 읽는 용도로 다양한 프로젝트에서 사용됩니다. 또한 컴파일러에서 생성 된 DWARF 정보를 작성할 수 있습니다 (최소한 2개의 시스템 제조업체에서 사용하는 기능). 원래의 AT & T DWARF1 (현재는 그대로) 형식은 DWARF2/3/4 와 완전히 다른 방식으로 구현되어 읽을 수 없습니다.


◎ dwarfdump 란 무엇입니까?

Dwarfdump 는 DWARF 정보를 사람이 읽을 수 있는 형식으로 인쇄하기 위해 libdwarf 를 사용하는 응용 프로그램입니다. 또한 오픈 소스이며 SGI 가 저작권을 보유한 GPL 입니다. libdwarf 를 사용하여 DWARF2/3/4 정보를 읽거나 읽을 수있는 텍스트 출력을 제공하는 예제를 제공합니다.


◎ DWARF 란 무엇입니까?

널리 사용되는 표준화된 디버깅 자료 형식입니다. DWARF 는 원래 ELF 파일 형식을 위해 만들어 졌지만, 이것은 목적 파일과 독립적입니다. 이름은 중세 판타지인 "ELF" 같은 것으로서 공식적인 뜻은 없지만 이후에 배크로님(backronym-이미 존재하는 단어에 맞추기 위해 만들어진 약어)인 'Debugging With Attributed Record Formats' 이 제안되었습니다.

DWARF 의 첫 버전은 지나친 저장 공간을 사용하였지만 호환 불가능한 다음 버전인 DWARF-2 는 자료 크기를 줄이기 위해 다양한 인코딩 기법들을 추가하였습니다. DWARF 는 즉시 범용적으로 받아들여지지 않았습니다. 예를 들면 썬 마이크로시스템즈나 리눅스에서 DWARF-2는 1990년대 후반까지도 일반적으로 채택되지 않았습니다.


자유 표준 그룹(Free Standards Group)의 DWARF 워크그룹은 2006년 1월에 DWARF 버전 3을 릴리즈하였습니다. 이것은 C++ 이름공간과 추가적인 컴파일러 최적화 기법들의 지원을 추가하였습니다. DWARF 위원회는 2010년 버전 4를 공개하였으며 개선된 데이터 압축, 최적화된 코드에 대한 더 나은 명세 그리고 C++ 언어의 새로운 특징들을 지원합니다. 


[커널 헤더 패키지]

debian 계열에서는 linux-headers 커널 헤더 패키지를 설치해야하고

redhat 계열에서는 kernel-headers 커널 헤더 패키지를 설치해야합니다.


[개발에 필요한 기본 라이브러리와 헤더파일 등을 가지고 있는 패키지]

debian 계열에서는 build-essential 패키지를 설치해야하고

redhat 계열에서는 elfutils-libelf-devel 패키지를 설치해야합니다.

<순서>

[Redhat 계열의 리눅스]

◎ 업그레이드 순서

◎ 커널업데이트 없이 업그레이드

◎ 특정버전 커널업그레이드(자동)

◎ 특정버전 커널업그레이드(수동)

◎ 구커널이미지 삭제



<내용>

[Redhat 계열의 리눅스]

OS종류 : RHEL, CentOS, Fedora, SUSE 등

패키지 설치, 업데이트, 삭제 명령어 : rpm(Redhat Package Manager), yum(Yellowdog Updater Modified)


◎ 업그레이드 순서

1. 패키지 정보 업데이트

 # yum -y update

각 업데이트 저장소에서 업데이트 패키지 목록을 갱신합니다.


2. 패키지 업그레이드

 # yum upgrade

패키지 목록과 보유한 목록을 비교하여 실제 패키지 업데이트를 수행합니다.


◎ 커널업데이트 없이 업그레이드

1. 커널업데이트 금지 설정

 # yum update --exclude=kernel*

커널업데이트를 제외합니다. 또는 /etc/yum.conf에서 다음 문장을 추가해줍니다. exclude=kernel*


2. 패키지 업그레이드

 # yum upgrade

패키지 목록과 보유한 목록을 비교하여 실제 패키지 업데이트를 수행합니다.


◎ 특정버전 커널업그레이드(자동)

1. 커널 정보 확인

 # uname -r

또는

 # cat /proc/version 

현재 부팅되어있는 커널 정보를 확인합니다.


2. 리눅스 커널 이미지 버전 검색

 http://vault.centos.org/

http://vault.centos.org/ 에서 리눅스 커널 이미지 버전을 검색합니다


3. 패키지 저장소(Repository) URL 수정

 # cd /etc/yum.repos.d

 # cp CentOS-Base.repo CentOS-Base.repo.bak

 # vi CentOS-Base.repo

 [base]

 baseurl=http://vault.centos.org/버전/os/x86_64/

 gpgkey=http://vault.centos.org/버전/os/x86_64/RPM-GPG-KEY-CentOS-버전

 [updates]

 baseurl=http://vault.centos.org/버전/updates/x86_64/

 gpgkey=http://vault.centos.org/버전/os/x86_64/RPM-GPG-KEY-CentOS-버전

 [extras]

 baseurl=http://vault.centos.org/버전/extras/x86_64/

 gpgkey=http://vault.centos.org/버전/os/x86_64/RPM-GPG-KEY-CentOS-버전

 [centosplus]

 baseurl=http://vault.centos.org/버전/centosplus/x86_64/

 gpgkey=http://vault.centos.org/버전/os/x86_64/RPM-GPG-KEY-CentOS-버전

 [contrib]

 baseurl=http://vault.centos.org/버전/contrib/x86_64/

 gpgkey=http://vault.centos.org/버전/os/x86_64/RPM-GPG-KEY-CentOS-버전

편집을 통해 mirrorlist 대신 baseurl 을 위 내용으로 추가하여 대신하고 gpgkey를 수정합니다.


4. 패키지 정보 업데이트

 # yum -y update

각 업데이트 저장소에서 업데이트 패키지 목록을 갱신합니다.


5. 패키지 업그레이드

 # yum upgrade

패키지 목록과 보유한 목록을 비교하여 실제 패키지 업데이트를 수행합니다.


6. 재부팅

 # reboot


◎ 특정버전 커널업그레이드(수동)

1. 커널 다운로드

 http://www.kernel.org

또는

 # wget https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-버전.tar.zx

또는

 # wget https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-버전.tar.gz

www.kernel.org 에서 원하는 커널버전의 tar.xz 를 다운로드 받습니다.

또는 링크주소를 복사하여 wget으로 tar.xz 이나 tar.gz 를 다운로드 받습니다.


2. 다운로드 파일 이동

 # mv linux-버전.tar.zx /usr/src

또는

 # mv linux-버전.tar.gz /usr/src

다운로드 받은 파일을 /usr/src 로 이동합니다.


3. 압축해제

 # xz -d linux-버전.tar.zx

 # tar -xvf linux-버전.tar

tar 와 xz 포맷으로 압축된 파일의 압축을 해제합니다.

또는

 # tar -xvzf linux-버전.tar.gz

tar.gz 포맷으로 압축된 파일의 압축을 해제합니다.


4. 심볼릭링크

 # ln -s /usr/src/linux-버전 /usr/src/linux


5. 환경설정

 # cd /usr/src/linux

 # make mrproper

 # make clean

make mrproper : 기존에 설정되어 있던 모든 의존관계 및 환경 설정  값들을 제거 합니다

make clean : 기존 소스 컴파일 작업으로 생성된 파일들 삭제합니다.


6. 컴파일할 소스파일 복사

 # cp /boot/config-`uname-r` ./.config

현재 사용하고 있는 커널 설정 파일을 복사합니다.


7. 커널환경설정

 # make menuconfig

Load 메뉴를눌러 .config 소스 파일을 불러옵니다. 소스파일 로딩이 완료되면 General setup 항목을 <Enter> 를 이용해 선택합니다.

Enable deprecated sysfs features to support old userspace too 라는 항목을 <Space bar> 를 이용해 체크하고 저장합니다.


::추가사항::

화면이 깨진다면 # yum install gcc* ncurses-devel 을 실행 후 진행하시기 바랍니다.

gcc : 컴파일에 필요한 gcc 컴파일러 설치

ncurses-devel : 텍스트 기반 화면처리 라이브러리


8. 커널 컴파일

 # make all

커널 설정 파일 .config를 사용하여  커널 소스를 컴파일 합니다


9. 커널 설치

 # make modules_install

 # make install

컴파일된 모듈들을 설치합니다.


10. 커널 적용을 위한 default 부팅 값 수정

 # vi /boot/grub/grub.conf

새로 설치한 커널이 첫번째 라인에 있으므로 default=0 으로 설정합니다.


◎ 구커널이미지 삭제

리눅스는 커널 업데이트가 빈번합니다. 그리고 매번 업그레이드할 때마다, 이전의 커널 이미지는 삭제되지 않고 남아 있습니다. 때문에 커널 이미지를 삭제해주는 작업이 필요합니다.

1. 커널 정보 확인

 # uname -r

또는

 # cat /proc/version 

현재 부팅되어있는 커널 정보를 확인합니다.


2. 커널 리스트 확인

 # rpm -q kernel

현재 설치되어있는 커널 리스트를 확인합니다.


3.1. 커널 이미지 삭제

 # yum erase kernel-버전

불필요한 커널을 삭제합니다.


종합

 # yum install yum-utils

 # package-cleanup --oldkernels --count=1

yum-list를 이용해서 위의 1~3 단계를 한번에 실행합니다. count 는 구버전의 커널을 몇개까지 남겨 놓을지 설정하는 옵션입니다. 기본 값은 5입니다.



+ Recent posts