10�N�ȏ�O���炠��Linux Kernel�̌��O�_���Ǝ㐫�Ƃ��Ĕ������ꂽ�uStack Clash�v�\�\�Ӑ}�I�Ɍ��J���x�炳�ꂽ���R�FOSS�Ǝ㐫�E�H�b�`�i2�j�i1/2 �y�[�W�j

�A�ځuOSS�Ǝ㐫�E�H�b�`�v�ł́A���܂��܂ȃI�[�v���\�[�X�\�t�g�E�F�A�̐Ǝ㐫�Ɋւ���������グ�A������Ă����B����́A2017�N9��14�`15���ɊJ�Â��ꂽ�uLinux Security Summit�v�ł��b��ɂȂ��Ă����uStack Clash�v�̏ڂ��������Ə����܂Ƃ߂�B

» 2017�N09��28�� 05��00�� ���J
[�ʘa�B�COSS�Z�L�����e�B�Z�p�̉�]

�@�uOSS�Z�L�����e�B�Z�p�̉��v�̖ʘa�B�ł��B�{�A�ځuOSS�Ǝ㐫�E�H�b�`�v�ł́A���܂��܂ȃI�[�v���\�[�X�\�t�g�E�F�A�iOSS�j�̐Ǝ�i�������Ⴍ�j���Ɋւ���������グ�A������Ă����܂��B

�@2017�N6��20���ɁA�uStack Clash�v�ƌĂ΂���A�̐Ǝ㐫���񍐂���܂����B�������Ԃ������Ă��܂��Ă��܂����A2017�N9��14�`15���ɊJ�Â��ꂽ�uLinux Security Summit�v�ł��b��ɂȂ��Ă������Ƃ�����A�����Stack Clash�̏ڂ��������Ə����܂Ƃ߂܂��B

�Ǝ㐫�����̌o��

�@����Stack Clash�́Aglibc��J�[�l���ȂǂɊւ����ŁA���g�X�^�b�N�K�[�h�y�[�W�h�̎������@�ɒ��ڊ֌W���邱�Ƃ��������߁A2017�N6��20���܂Ō��J���ꂸ�A�eLinux�f�B�X�g���r���[�V�������vOSS�݂̂ɕ񍐂���ďC�����s���Ă������̂ł��B

�@�����Stack Clash�́A�ȉ��̂悤�Ȉ�A�̐Ǝ㐫����\������Ă��܂��B

  • Linux Kernel�̃X�^�b�N�K�[�h�y�[�W�̐Ǝ㐫�iCVE-2017-1000364�j
  • Linux Kernel��RLIMIT_STACK/RLIM_INFINITY�̐������A������‹��ϐ����I��ł��Ă��܂��Ǝ㐫�iCVE-2017-1000365�j
  • glibc��LD_LIBRARY_PATH�̒l�ɍ׍H�����邱�ƂŃq�[�v�^�X�^�b�N�̒l�𑀍�ł���Ǝ㐫�iCVE-2017-1000366�j
  • offset2lib�̖��ŁAPIE�o�C�i���Ɉ�����‹��ϐ��Ƃ���1GB�̃f�[�^���g�����Ƃ��”\�ȐƎ㐫�iCVE-2017-1000370�j
  • offset2lib�̖��ŁAPIE�o�C�i���̈�����‹��ϐ����׍H���邱�Ƃ��ł���A�܂��X�^�b�N�K�[�h�y�[�W���щz���₷�����邱�Ƃ��ł���Ǝ㐫�iCVE-2017-1000371�j
  • Linux Kernel��ld.so��q�[�v�ƁA�X�^�b�N�A�h���X�Ԃ̋������ŏ���128MB�ɂȂ��Ă���Ƃ����Ǝ㐫�iCVE-2017-1000379�j

���񔭌����ꂽ�Ǝ㐫�̊T�v

�@���̐Ǝ㐫�́A�uuser-space�̃v���Z�X�̃X�^�b�N��q�[�v���ՓˁiClash�j�����ꍇ�ɂǂ��Ȃ邩�v�Ƃ��������ԁi���ہA12�N�Ԃɂ킽���Ă��܂��j�̋^��̉����ɂ�����ł��i���������Ӗ��ł́A�����ĐV�������̂ł͂Ȃ��A�Â����炠��Ǝ㐫�Ƃ����܂��j�B

�@���́u�X�^�b�N��q�[�v�̏Փˁv�Ƃ������𗝉����邽�߂ɁA�܂��̓v���Z�X���N�������ۂ̃������̈�̏������Ă݂܂��傤�B��Ƃ��ċ�����̂́Asleep 3000�����s�����ۂ�/proc/[pid]/maps�ł��i�}1�j�B

�}1
  • [heap]�i�q�[�v�j
  • ld.so��read-write�Z�O�����g
  • �󔒁iAnonymous mmap�j
  • [stack]�i�X�^�b�N�j

�@���̂悤�ɏo�͂��ꂽ�X�^�b�N�ƃq�[�v�𑝑傳������Ald.so��Anonymousmmap�𑝑傳�����肷�邱�ƂŁA�����̗̈���Փ˂����čD���Ȃ悤�ɏ��������邱�Ƃ͂ł��Ȃ����Ƃ������̂ł��B

�@���̂悤�ȃX�^�b�N��q�[�v�̏Փ˂̗�́A���Ɋ�‚�����܂����B

  • 2005�N�ɁAApache 2.0.53���mod_php 4.3.0�ɂ�����Auser-space�ł�Stack Clash�̐Ǝ㐫��exploit���񍐂���Ă���i�Q�lPDF�j
  • 2010�N�ɂ́AXorg�T�[�o��user-space�ł�Stack Clash�̐Ǝ㐫��exploit���񍐂���Ă���i�Q�lPDF�j
  • 2010�N�ȍ~�ł́Akernel-space�ł̊�‚���exploit���񍐂���Ă���i�Q�lPDF�A�Q�l�����N1�A2�j

�@�������Auser-space�ł́A���2005�N�̂��̂�2010�N�̂��̂����ɂȂ��Ă��܂��B����́ALinux���Stack Clash��h�����߂̕ی�@�\�i�X�^�b�N�̉��Ɂg�X�^�b�N�K�[�h�y�[�W�h��݂�����́j���݂���ꂽ���߂ł��B�X�^�b�N�K�[�h�y�[�W��CVE-2010-2240�̖�����������ۂɓ�������܂����B

�@2017�N6��20����Qualys������J���ꂽ�Ǝ㐫�̃A�h�o�C�U���ɂ��ƁA��‚��́g�X�^�b�N�K�[�h�y�[�W�h�̎������@�ɖ�肪����A�����user-space�Ŕj����@������Ƃ������Ƃł��B

�X�^�b�N�K�[�h�y�[�W�Ƃ�

�@���[�U�[�v���Z�X�͋N�����ɃX�^�b�N�Ȃǂ��������̈�Ƀ}�b�s���O���܂��B���̃X�^�b�N�̈ʒu�̓X�^�b�N�|�C���^�ii386��esp���W�X�^�j�ŕ\����܂����A����̓X�^�b�N�ɐςނ��̂��傫���Ȃ�ɂ‚�ĉ����ɉ������Ă��܂��B�����āA�X�^�b�N�̉����i�X�^�[�g�A�h���X�j�ɓ��B�����ۂɂ́A�y�[�W�t�H���g��O���������A�X�^�b�N�J�n�A�h���X�������Ɋg������܂��B����̓X�^�b�N�̃T�C�Y��RLIMIT_STACK�iulimit -s�R�}���h�ŕ\���B�ʏ�̃f�t�H���g��8192KB�j�ɂȂ�܂ő������܂��B�����āARLIMIT_STACK�܂ŒB���Ă���ȏ�g���ł��Ȃ��Ȃ�ƁASIGSEGV�Ȃǂ��������ăv���Z�X���I�����܂��i�}2�j�B

�}2

�@�������A���̊g�����ƁA�X�^�b�N�̂������ɑ��̃������̈�Ȃǂ����Ă����ۂɃI�[�o�[���b�v���ď����������Ă��܂��܂��iCVE-2010-2240�Ȃǁj�B�����h�����߁A�X�^�b�N�K�[�h�y�[�W���݂����܂����B����͐�KB�i1Page�Fi686�̏ꍇ4096KB�j���X�^�b�N�J�n�A�h���X�̉����ɂ��炩���ߕt���Ă����A���̃K�[�h�y�[�W�ɃA�N�Z�X���������ꍇ�ɂ́u�y�[�W�t�H���g��O�v�𔭐������A�v���Z�X�ɑ΂���SIGSEGV�𔭐������ďI�������܂��i�}3�A�}4�j�B

�}3
�}4

�@����ɂ��A�X�^�b�N���g�����Ă����Ƃ��ɁA���̃������̈�i���̃v���Z�X�̃q�[�v�̈�Ȃǁj���X�^�b�N�Əd�Ȃ�Ȃ��悤�ɂȂ�܂��B

�@��ʓI�ɁA�������𑝉�������̂́g�A���I�ȕω��h�ł��邽�߁A���̃X�^�b�N�K�[�h�y�[�W�͗L���ł��B�������A����́uLinux Kernel�̃X�^�b�N�K�[�h�y�[�W�̐Ǝ㐫�iCVE-2017-1000364�j�v�ɂ����ẮA��KB���x�̃X�^�b�N�K�[�h�y�[�W�ł́A�X�^�b�N�K�[�h�y�[�W�ɃA�N�Z�X���邱�ƂȂ��A�g��щz���Ă��܂��h�����������o���Ă��܂��B������ɘa����ɂ́A�X�^�b�N�K�[�h�y�[�W�̃T�C�Y�𑝉������邱�Ƃ��L���ɂȂ�܂��B

�U���̊T��

�@����Stack Clash�́A��܂��Ɉȉ��̎菇�Ŏ��{�ł��܂��B

  1. �Փˁi�X�^�b�N�𑼂̃������̈�ƏՓ˂�����j
  2. ���s�i�X�^�b�N�|�C���^���X�^�b�N�̊J�n�A�h���X�Ɉړ�����j
  3. �W�����v�i�X�^�b�N�K�[�h�y�[�W���щz���đ��̃������̈�܂œ��B������j
  4. �j��i�X�^�b�N�⑼�̃������̈�̔j��j

�y�X�e�b�v1�z�Փˁi�X�^�b�N�𑼂̃������̈�ƏՓ˂�����j

�@�X�^�b�N�̊J�n�A�h���X�����̃������̈�̏���ɓ�����܂ŁA�܂��͑��̃������̈�̏�����X�^�b�N�J�n�A�h���X�ɒB����܂Ń����������蓖�Ă܂��B���̃������̈�̗�͉��L�ł��B

  • �q�[�v
  • Anonymous mmap()
  • ld.so��read-write�Z�O�����g
  • PIE�iPosition-Independent Executable�F�ʒu�Ɨ����s�`���j��read-write�Z�O�����g

�@���̃X�e�b�v�ł̓����������蓖�Ă�ۂɉ��L�𗘗p���܂��B

  • �X�^�b�N�ƃq�[�v
  • �X�^�b�N��Anonymous mmap()������
  • �X�^�b�N�̂�

�@�Ȃ��u�q�[�v��Anonymous mmap()�v�́ALinux�ł�LD_AUDIT�̃��������[�N�iglibc: CVE-2017-1000366�j�𗘗p���܂��B

�@�X�^�b�N�����蓖�ĂɎg���ꍇ�́A�R�}���h���C���̈����Ɗ‹��ϐ��𗘗p���܂��BLinux�ł�RLIMIT_STACK��4����1�ł��iman execve�Q�Ɓj�B�������A�uLinux Kernel��RLIMIT_STACK/RLIM_INFINITY�̐������A������‹��ϐ����I��ł��Ă��܂��Ǝ㐫�iCVE-2017-1000365�j�v�𗘗p���邱�ƂŁA�A�v���P�[�V�����Ɉˑ������Ƀ������̊��蓖�Ă��”\�ɂȂ��Ă��܂��B

�y�X�e�b�v2�z���s�i�X�^�b�N�|�C���^���X�^�b�N�̊J�n�A�h���X�Ɉړ�����j

�@�X�^�b�N�|�C���^�͒ʏ�X�^�b�N�J�n�A�h���X�̐�KB��ɂ���܂��BLinux�ł́A�|�C���^��argv[]��envp[]�z��𗘗p���āA�ŏ��̃X�^�b�N�g����128KB������ł��܂��B

�y�X�e�b�v3�z�W�����v�i�X�^�b�N�K�[�h�y�[�W���щz���đ��̃������̈�܂œ��B������j

�@�X�^�b�N�|�C���^���X�^�b�N�K�[�h�y�[�W�ɐG�ꂳ�����ɁA�X�^�b�N����y�X�e�b�v1�z�ŏՓ˂������͈͂܂ňړ������܂��B���́y�X�e�b�v3�z�ł́A���L�̂悤�ȏ����𖞂����A�傫�ȃX�^�b�N�x�[�X�̃o�b�t�@�[�Aalloca()�AVLA�i�•ϒ��z��j�̂����ꂩ���K�v�ɂȂ�܂��B

  • �X�^�b�N�K�[�h�y�[�W�����傫��
  • �I���ʒu�̓X�^�b�N�K�[�h�y�[�W����̃X�^�b�N��
  • �J�n�ʒu�̓X�^�b�N�K�[�h�y�[�W�������̗̈�
  • �S�ď�����Ă���K�v�͂Ȃ�

�@�uQualys Security Advisory�v�ł́ALinux��ŁA�X�^�b�N�K�[�h�y�[�W���щz���������ʓI�ȕ��@�Ƃ��āAa�uLANGUAGE�‹��ϐ���p����v�Ab�uld.so��LD_LIBRARY_PATH�‹��ϐ��̃R�s�[�ł���llp_tmp��p����v�ȂNJ�‚��l�����Ă��܂��B

�y�X�e�b�v4�z�j��i�X�^�b�N�⑼�̃������̈�̔j��j

�@�y�X�e�b�v4�z�́A�O�q�́y�X�e�b�v3�z�ɂ�����a�Ab����2�ʂ�ɕ������܂��B

�@4a�F�X�^�b�N�iesp���܂��|�C���g���Ă����ԁj�ȉ��̃������̈�ɏ������݂܂��B���̕��@�́Aexim�Asudo�Asu��p�����U�����Ɏg�p����܂��B

�@4b�F�X�^�b�N�ɏ�������ŏՓ˂��Ă��郁�����̈��j�󂵂܂��B�����ld.so��p�����U�����Ɏg�p����܂��B���̏ꍇ�́A�A�v���P�[�V�����ŗL�̂��̂ɂȂ�܂��B

�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B