오늘:
595
어제:
1,016
전체:
3,211,229

하모니카 묻고답하기

조회 수 2551 추천 수 0 댓글 8
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

출처: http://la-nube.tistory.com/353 [la Nube's Lab. | 라 누베 연구소]



영국의 캐노니컬(Canonical)에서 개발하는 우분투(Ubuntu) 16.04 LTS Xenial Xerus 리눅스 커널의 새로운 기능 추가나 버그 수정 또는 보안 취약점 문제를 해결한 HWE 커널 4.13.0-37 버전이 업데이트를 통해 배포되었습니다.

*LTS : Long Term Support - 5년 간의 장기 지원
*HWE : Hardware Enablement - 하드웨어 지원 강화를 위한 커널로, 6개월마다 4번에 걸쳐 판올림하면서 지원
*GA : General Availability - 출시 당시의 커널로, 5년 간 판올림 없이 지원

--

이번 리눅스 커널 업데이트에서는 Intel, ARM, AMD CPU와 관련된 보안 취약점인 멜트다운(CVE-2017-5754) 및 스펙터(CVE-2017-5715, CVE-2017-5753) 취약점을 완화(경감)하는 보안 패치가 다음과 같이 포함되어 있으며, 이 보안 패치는 1월 초부터 현재까지 계속하여 진행되고 있습니다.

linux-hwe (4.13.0-37.42~16.04.1) xenial


* CVE-2017-5715 // CVE-2017-5753 // CVE-2017-5754
    - arm64: Add ASM_BUG()
    - arm64: consistently use bl for C exception entry
    - arm64: move non-entry code out of .entry.text
    - arm64: unwind: avoid percpu indirection for irq stack
    - arm64: unwind: disregard frame.sp when validating frame pointer
    - arm64: mm: Fix set_memory_valid() declaration
    - arm64: Convert __inval_cache_range() to area-based
    - arm64: Expose DC CVAP to userspace
    - arm64: Handle trapped DC CVAP
    - arm64: Implement pmem API support
    - arm64: uaccess: Implement *_flushcache variants
    - arm64/vdso: Support mremap() for vDSO
    - arm64: unwind: reference pt_regs via embedded stack frame
    - arm64: unwind: remove sp from struct stackframe
    - arm64: uaccess: Add the uaccess_flushcache.c file
    - arm64: fix pmem interface definition
    - arm64: compat: Remove leftover variable declaration
    - fork: allow arch-override of VMAP stack alignment
    - arm64: kernel: remove {THREAD,IRQ_STACK}_START_SP
    - arm64: factor out PAGE_* and CONT_* definitions
    - arm64: clean up THREAD_* definitions
    - arm64: clean up irq stack definitions
    - arm64: move SEGMENT_ALIGN to <asm/memory.h>
    - efi/arm64: add EFI_KIMG_ALIGN
    - arm64: factor out entry stack manipulation
    - arm64: assembler: allow adr_this_cpu to use the stack pointer
    - arm64: use an irq stack pointer
    - arm64: add basic VMAP_STACK support
    - arm64: add on_accessible_stack()
    - arm64: add VMAP_STACK overflow detection
    - arm64: Convert pte handling from inline asm to using (cmp)xchg
    - kvm: arm64: Convert kvm_set_s2pte_readonly() from inline asm to cmpxchg()
    - arm64: Move PTE_RDONLY bit handling out of set_pte_at()
    - arm64: Ignore hardware dirty bit updates in ptep_set_wrprotect()
    - arm64: Remove the !CONFIG_ARM64_HW_AFDBM alternative code paths
    - arm64: introduce separated bits for mm_context_t flags
    - arm64: cleanup {COMPAT_,}SET_PERSONALITY() macro
    - KVM: arm/arm64: Fix guest external abort matching
    - KVM: arm/arm64: vgic: constify seq_operations and file_operations
    - KVM: arm/arm64: vITS: Drop its_ite->lpi field
    - KVM: arm/arm64: Extract GICv3 max APRn index calculation
    - KVM: arm/arm64: Support uaccess of GICC_APRn
    - arm64: Use larger stacks when KASAN is selected
    - arm64: Define cputype macros for Falkor CPU
    - arm64: SW PAN: Point saved ttbr0 at the zero page when switching to init_mm
    - arm64: SW PAN: Update saved ttbr0 value on enter_lazy_tlb
    - x86/syscalls: Check address limit on user-mode return
    - arm/syscalls: Check address limit on user-mode return
    - arm64/syscalls: Check address limit on user-mode return
    - Revert "arm/syscalls: Check address limit on user-mode return"
    - syscalls: Use CHECK_DATA_CORRUPTION for addr_limit_user_check
    - arm/syscalls: Optimize address limit check
    - arm64/syscalls: Move address limit check in loop
    - futex: Remove duplicated code and fix undefined behaviour
    - arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
    - arm64: syscallno is secretly an int, make it official
    - arm64: move TASK_* definitions to <asm/processor.h>
    - arm64: mm: Use non-global mappings for kernel space
    - arm64: mm: Temporarily disable ARM64_SW_TTBR0_PAN
    - arm64: mm: Move ASID from TTBR0 to TTBR1
    - arm64: mm: Remove pre_ttbr0_update_workaround for Falkor erratum #E1003
    - arm64: mm: Rename post_ttbr0_update_workaround
    - arm64: mm: Fix and re-enable ARM64_SW_TTBR0_PAN
    - arm64: mm: Allocate ASIDs in pairs
    - arm64: mm: Add arm64_kernel_unmapped_at_el0 helper
    - arm64: mm: Invalidate both kernel and user ASIDs when performing TLBI
    - arm64: entry: Add exception trampoline page for exceptions from EL0
    - arm64: mm: Map entry trampoline into trampoline and kernel page tables
    - arm64: entry: Explicitly pass exception level to kernel_ventry macro
    - arm64: entry: Hook up entry trampoline to exception vectors
    - arm64: erratum: Work around Falkor erratum #E1003 in trampoline code
    - arm64: cpu_errata: Add Kryo to Falkor 1003 errata
    - arm64: tls: Avoid unconditional zeroing of tpidrro_el0 for native tasks
    - arm64: entry: Add fake CPU feature for unmapping the kernel at EL0
    - arm64: kaslr: Put kernel vectors address in separate data page
    - arm64: use RET instruction for exiting the trampoline
    - arm64: Kconfig: Add CONFIG_UNMAP_KERNEL_AT_EL0
    - arm64: Kconfig: Reword UNMAP_KERNEL_AT_EL0 kconfig entry
    - arm64: Take into account ID_AA64PFR0_EL1.CSV3
    - arm64: capabilities: Handle duplicate entries for a capability
    - arm64: mm: Introduce TTBR_ASID_MASK for getting at the ASID in the TTBR
    - arm64: kpti: Fix the interaction between ASID switching and software PAN
    - arm64: cputype: Add MIDR values for Cavium ThunderX2 CPUs
    - arm64: Turn on KPTI only on CPUs that need it
    - arm64: kpti: Make use of nG dependent on arm64_kernel_unmapped_at_el0()
    - arm64: mm: Permit transitioning from Global to Non-Global without BBM
    - arm64: kpti: Add ->enable callback to remap swapper using nG mappings
    - arm64: Force KPTI to be disabled on Cavium ThunderX
    - arm64: entry: Reword comment about post_ttbr_update_workaround
    - arm64: idmap: Use "awx" flags for .idmap.text .pushsection directives
    - arm64: barrier: Add CSDB macros to control data-value prediction
    - arm64: Implement array_index_mask_nospec()
    - arm64: Make USER_DS an inclusive limit
    - arm64: Use pointer masking to limit uaccess speculation
    - arm64: entry: Ensure branch through syscall table is bounded under
      speculation
    - arm64: uaccess: Prevent speculative use of the current addr_limit
    - arm64: uaccess: Don't bother eliding access_ok checks in __{get, put}_user
    - arm64: uaccess: Mask __user pointers for __arch_{clear, copy_*}_user
    - arm64: futex: Mask __user pointers prior to dereference
    - arm64: cpufeature: __this_cpu_has_cap() shouldn't stop early
    - arm64: Run enable method for errata work arounds on late CPUs
    - arm64: cpufeature: Pass capability structure to ->enable callback
    - drivers/firmware: Expose psci_get_version through psci_ops structure
    - arm64: Move post_ttbr_update_workaround to C code
    - arm64: Add skeleton to harden the branch predictor against aliasing attacks
    - arm64: Move BP hardening to check_and_switch_context
    - arm64: KVM: Use per-CPU vector when BP hardening is enabled
    - arm64: entry: Apply BP hardening for high-priority synchronous exceptions
    - arm64: entry: Apply BP hardening for suspicious interrupts from EL0
    - arm64: cputype: Add missing MIDR values for Cortex-A72 and Cortex-A75
    - arm64: Implement branch predictor hardening for affected Cortex-A CPUs
    - arm64: Implement branch predictor hardening for Falkor
    - arm64: Branch predictor hardening for Cavium ThunderX2
    - arm64: KVM: Increment PC after handling an SMC trap
    - arm/arm64: KVM: Consolidate the PSCI include files
    - arm/arm64: KVM: Add PSCI_VERSION helper
    - arm/arm64: KVM: Add smccc accessors to PSCI code
    - arm/arm64: KVM: Implement PSCI 1.0 support
    - arm/arm64: KVM: Advertise SMCCC v1.1
    - arm64: KVM: Make PSCI_VERSION a fast path
    - arm/arm64: KVM: Turn kvm_psci_version into a static inline
    - arm64: KVM: Report SMCCC_ARCH_WORKAROUND_1 BP hardening support
    - arm64: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling
    - firmware/psci: Expose PSCI conduit
    - firmware/psci: Expose SMCCC version through psci_ops
    - arm/arm64: smccc: Make function identifiers an unsigned quantity
    - arm/arm64: smccc: Implement SMCCC v1.1 inline primitive
    - arm64: Add ARM_SMCCC_ARCH_WORKAROUND_1 BP hardening support
    - arm64: Kill PSCI_GET_VERSION as a variant-2 workaround
    - [Config] UNMAP_KERNEL_AT_EL0=y && HARDEN_BRANCH_PREDICTOR=y
    - SAUCE: arm64: __idmap_cpu_set_reserved_ttbr1: fix !ARM64_PA_BITS_52 logic
    - arm64: Add missing Falkor part number for branch predictor hardening
    - arm64: mm: fix thinko in non-global page table attribute check


  * linux-image-4.13.0-26-generic / linux-image-extra-4.13.0-26-generic fail to
    boot (LP: #1742721)
    - staging: sm750fb: Fix parameter mistake in poke32

※ 스펙터(Spectre) : Intel CPU의 멜트다운(Meltdown) 취약점과 함께 발견된 Intel, ARM, AMD CPU의 보안 취약점으로, 악성 스크립트가 삽입된 홈페이지에 접속하는 것만으로도 취약점을 악용할 수 있는 웹 기반 공격이 가능하다고 발표됨

자세한 업데이트 내역은 아래 링크의 Changelog 정보를 참고하기 바랍니다.

--

[영향을 받는 리눅스 커널 및 업데이트 버전]

■ 우분투 16.04 LTS Xenial Xerus / 리눅스민트 18.x / 하모니카 커뮤니티 배포판 MoorDev 1.0

※ HWE 커널 4.13 → HWE 커널 4.13.0-37 버전으로 업데이트
https://launchpad.net/ubuntu/+source/linux-hwe/4.13.0-37.42~16.04.1

※ GA 커널 4.4 → GA 커널 4.4.0-116 버전이 사용되고 있음을 확인
https://launchpad.net/ubuntu/+source/linux/4.4.0-116.140

※ 2021년 4월 지원 종료 예정

--

■ 우분투 14.04 LTS Trusty Tahr / 리눅스민트 17.x / 하모니카 2.1 Rosa

※ HWE 커널 4.4 → HWE 커널 4.4.0-116 버전이 사용되고 있음을 확인
https://launchpad.net/ubuntu/+source/linux-lts-xenial/4.4.0-116.140~14.04.1

※ GA 커널 3.13 → GA 커널 3.13.0-143 버전이 사용되고 있음을 확인
https://launchpad.net/ubuntu/+source/linux/3.13.0-143.192

※ 2019년 4월 지원 종료 예정

--

■ 우분투 12.04 LTS Precise Pangolin / 리눅스민트 13 Maya

※ 2017년 4월 28일 지원 종료

--

그러므로 우분투 LTS 사용자는 터미널에서 다음의 명령어를 입력하여 최신버전으로 업데이트하기 바랍니다.
$ sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove --purge && sudo apt-get autoclean

그리고 리눅스민트 및 하모니카 사용자는 '업데이트 매니저 → 메뉴 중 보기(V) → 리눅스 커널' 메뉴를 실행하여 해당하는 커널 내에서 최신버전으로 업데이트하기 바랍니다.

아울러 업데이트를 적용하기 위해서는 마지막에 반드시 재부팅을 하기 바랍니다.

--

배포판의 종류와 사용 중인 커널 버전을 알기 위해서는 터미널에서 다음의 명령어를 입력하기 바랍니다.
$ lsb_release -a && uname -a

--

리눅스민트 18, 18.1, 18.2, 18.3은 우분투 16.04 LTS Xenial Xerus를 변형한 배포판입니다.
리눅스민트 17, 17.1, 17.2, 17.3은 우분투 14.04 LTS Trusty Tahr를 변형한 배포판입니다.
리눅스민트 13 Maya는 우분투 12.04 LTS Precise Pangolin을 변형한 배포판입니다.
하모니카(HamoniKR) 커뮤니티 배포판 MoorDev 1.0은 리눅스민트 18.3 Sylvia를 변형한 배포판입니다.
하모니카(HamoniKR) 2.1 Rosa는 리눅스민트 17.3 Rosa를 변형한 배포판입니다.



출처: http://la-nube.tistory.com/353 [la Nube's Lab. | 라 누베 연구소]
  • ?
    Moordev 2018.03.18 20:10
    우분투18.04는 커널 4.15로 멜트다운과 스펙터 대응으로 구글의 retpoline이 적용되어있는 것이 확인했습니다.

    완벽히 보안구멍을 떼우지는 못하지만 확실히 이전처럼 펑펑하고 코드 들여다보기는 어려워졌습니다.

    이제 좀 안심이 되는것 같아요.(물론 저는 AMD라 멜트다운은 관심밖이었습니다.)
  • ?
    la_Nube 2018.03.19 16:43

    현재 18.04 커널의 Proposed된 단계에서는 3월 15일에 발표된 커널 4.15.10까지 반영되어 있기에 상당히 안전한 상태인 것으로 보입니다. 인텔 GMA 945 내장 그래픽에서 화면이 80% 정도 검게 나오는 이슈가 발견되어 고치지도 못하고 있는 커널 4.13에서 떠나 이 이슈가 없는 커널 4.15으로 어서 이사가고 싶습니다. ㅋㅋㅋ

  • ?
    Moordev 2018.03.21 00:12
    그냥 직접 커널 컴파일해서 쓰는 것도 방법입니다.
    2014년산 제 랩탑에서도 3시간이면 컴파일 되더군요. 대신 커널 설정하는데 2시간 걸렸습니다. 직접 컴파일한 커널 쓰고 있으면 묘하게 기분 좋습니다.
  • ?
    바람곰돌 2018.03.19 10:26

    일단 이 정도면 멜트다운과 스펙터에서 어느 정도는 방어가 가능할까요? 아휴...전에 영상으로 보니까 5분은 커녕 얼마 시간도 안되었는데 모든 권한이 휙 하고 날아가는 걸 보니까 끔찍하던데요. AMD쪽도 키메라 이슈가 떴던데 이건 또 언제 해결될지...에궁궁...

  • ?
    la_Nube 2018.03.19 16:39

    일단, 인텔과 AMD쪽 취약점들은 거의 조치가 완료된 것으로 보입니다.

    현재까지 남아 있는 것은 주로 ARM 아키텍처를 위한 보안 패치들이구요.

    운영체제 단계에서의 완화/경감 조치를 통해 완전한 해결은 아니지만...이제 상당히 안전하다고 생각됩니다.

    보안성을 높이기 위해 성능을 어느 정도 죽여가고 있기 때문에 뭐 좋으면서도 씁쓸한 결말이라고 보여 지긴 합니다.

  • ?
    Moordev 2018.03.21 00:19
    솔직히 스펙터버그는 그렇다고 치지만 멜트다운버그는 인텔이 조금만 더 신경썼으면 이 정도까지는 아니었다는 것이 더 씁쓸하지요. 일반적으로 쓰는데는 큰 문제가 되지 않지만 복잡한 연산을 하는 대학 연구소나 데이터센터는 피해를 많이 봤습니다. 멜트다운 패치로 20%이상 효율이 떨어진곳도 있다고 해요.

    스펙터 패치로 인하여 생긴 성능저하는 최대 약 5%남짓이라고하고(구글 Retpoline발표) 이후 출시되는 프로세서는 해결을 하고 출시된다고 하니 이를 지켜봐야겠습니다.
  • ?
    Moordev 2018.03.21 00:34
    키메라 이슈는 왠지 다들 심각하게 보지 않는 듯 합니다.

    AMD에서도 확인중이라고 하는데 AMD에 해당내용을 알린 이스라엘 연구소도 AMD에 연락한지 하루만에 터뜨리질 않나 그것을 받은 AMD도 따로 발표를 하지않는 것을 보면 뭔가 이상한 냄새가 난다고 할까?

    보통 보안 구멍은 공개여부를 당사자와 협의 후에 처리하는게 보통인데(Adobe의 Flash나 Cisco등의 장비업체들이 대표적) AMD도 언론 공개전날 연락 받았다고 하더군요. 멜트다운은 구글의 연락을 받고 OS개발진들과 협의하다가 리눅스 커널 소스 감시단(?)에게 걸려서 이번 이슈를 시인한건데 키메라는 협의도 안 하고 터트린 셈입니다.

    일단 AMD의 발표를 들어야 알 수있겠지요. 멜트다운 때처럼 해킹 영상이 나오면 바로 발표를 하겠지요.
  • profile
    행복한펭귄 2018.03.19 18:48

    보안 문제가 얼마나 심각했으면 이리도 난리인지 모릅니다.

    외국의 특정 업체의 경우 리눅스 배포판을 단순하게 배포하는 것이 아니라 완벽한 보안 매커니즘을 제공하는 업체와 계약을 맺고 시스템 차원에서 보안 문제를 근본적으로 제공하고 리눅스 OS에서도 지원한다고 강조하면서 보안 전문 리눅스 업체임을 강조하는 업체도 있습니다.


    그만큼 보안 문제는 기업뿐만 아니라, 이젠 일반 개인에게도 매우 중요한 문제입니다.

    아직까지는 어느 정도 불을 꺼놓은 것은 인정하지만, 완벽한 것으로 보이지 않아서 못내 아쉽기는 하지만, 차츰 더욱 개선해 나갈 것으로 믿고 사용해 보도록 하겠습니다.




List of Articles
번호 제목 추천 수 글쓴이 날짜 조회 수
공지 게시판에 질문하기 전 읽기 - 어떻게 질문을 하는 것이 좋을까? 1 0 Kevin 2019.11.18 29733
1234 좋은 사진 앵글 찾았어~ 0 young1004 2018.03.21 1046
1233 사자가 주인을 너무 좋아하네요 0 young1004 2018.03.21 863
1232 X11Docker라는 프로젝트가 있습니다. 1 0 Moordev 2018.03.21 1138
1231 티맥스에서 리눅스 출시 한다네요... 10 0 기즈모 2018.03.21 1254
1230 리눅스 타깃 비트코인 채굴 마이너 결합된 버터플라이 랜섬웨어 유포 8 0 la_Nube 2018.03.21 1141
1229 질문 : USB메모리 exFAT로 포맷 윈7, 하모니카 공유증인데 맞는건지? 8 0 스모프 2018.03.20 1595
1228 CentOS 6 리눅스 커널 업데이트 - 2.6.32-696.23.1.el6 6 0 la_Nube 2018.03.20 1852
1227 냥이 뱅글뱅글~ 0 young1004 2018.03.20 953
1226 3점 슛~성공할거 같지만? 2 0 young1004 2018.03.20 1069
1225 개방형 OS ? 17 0 세벌 2018.03.20 1306
1224 우분투 18.04 마테 버전 새 레이아웃 발표 file 0 행복한펭귄 2018.03.19 1116
1223 버찌? 버지? 벗지? 10 0 세벌 2018.03.19 1194
» 우분투 16.04 LTS 리눅스 커널 업데이트 - 2018.03.14. 8 0 la_Nube 2018.03.18 2551
1221 MX Linux에 주목해야 하는 이유! 41 file 0 행복한펭귄 2018.03.18 10987
1220 조린OS12.3 출시 3 file 0 행복한펭귄 2018.03.18 1437
1219 하모니카 이런저런 4 0 Ohnine 2018.03.18 1251
1218 파이어폭스(Firefox) 59.0.1 업데이트 3 0 la_Nube 2018.03.17 1143
1217 엘레멘터리 OS 한글화 버전 (박정규님 제작)도 커뮤니티 배포판에 포함했으면 좋겠습니다. 7 0 행복한펭귄 2018.03.17 1336
1216 최고의 우분투 리눅스 대안과 왜 당신이 전환해야 하는가 1 0 행복한펭귄 2018.03.17 1116
1215 Chromium과 Firefox 웹 브라우저가 Ubuntu Linux에 스냅으로 설치 가능 2 file 0 행복한펭귄 2018.03.17 1193
Board Pagination Prev 1 ... 60 61 62 63 64 65 66 67 68 69 ... 126 Next
/ 126
CLOSE