ITmedia NEWS > �Ȋw�E�e�N�m���W�[ >
ZLeBEzbggsbNX

���l�̃X�}�z�̌��ݒn�����ł���T�C�o�[�U���@Bluetooth�̌��ׂ𗘗p�@�č��`�[�����w�E�FInnovative Tech

» 2022�N12��07�� 08��00�� ���J
[�R���T�B�CITmedia]

Innovative Tech�F

���̃R�[�i�[�ł́A�e�N�m���W�[�̍ŐV�������Љ��Web���f�B�A�uSeamless�v����ɂ���R���T�B�������M�B�V�K���̍����Ȋw�_�����R�������s�b�N�A�b�v���A�������B

�@�ăI�n�C�I�B����w�ɏ������錤���҂炪���\�����_���uWhen Good Becomes Evil: Tracking Bluetooth Low Energy Devices via Allowlist-based Side Channel and Its Countermeasure�v�́ABluetooth���g�p���郂�o�C���@��ɂ́A�U���҂����[�U�[�̈ʒu��ǐՂł���s������邱�Ƃ����؂��������񍐂��B

����̍U���̃��[�N�t���[

�@�ߋ��������ʐM�Z�p�ł���Bluetooth Low Energy�iBLE�j�́A�����̃A�v���P�[�V�����Ŏg�p����Ă���B�������ABLE�f�o�C�X�́A�߂��ɂ���U���҂�Bluetooth�p�P�b�g�𓐂݁A����̃f�o�C�X�⃆�[�U�[�Ɗ֘A�t���邱�Ƃ��ł��邽�߁AMAC�A�h���X�i�l�b�g���[�N�ɂ‚Ȃ���@��Ɋ��蓖�Ă��Ă��鎯�ʔԍ��j�ǐՂ̑ΏۂɂȂ��Ă���B

�@����̓A�C�h����Ԃ�BLE�f�o�C�X�́A��20�~���b�Ɉ�x�A�߂��ɂ���ڑ��”\�ȃf�o�C�X�Ɏ�����MAC�A�h���X��m�点��M���𑗂邽�߂ł���B

�@���̖��ɑ΂��ABluetooth SIG�iBluetooth�̋K�i�J���𓝊�����g�D�j��MAC�A�h���X�ǐՂ̋��Ђ�F�����A���ӂ̂���l���ɂ��ǐՂ���@���ی삷�邽�߂ɁA2010�N����MAC�A�h���X�����_�����Ƃ����\�����[�V���������s���Ă���B

�@���̌�A2014�N��Bluetooth�́uallowlist�v�Ƃ����@�\�𓱓����A���F�����f�o�C�X�̂ݐڑ������‚��A�v���C�x�[�g�f�o�C�X�����m�̃f�o�C�X�ɃA�N�Z�X���邱�Ƃ�h���ł���B��v�ȃX�}�[�g�t�H���iAndroid��iPhone�j�́ufilter accept list�v�ł���B

�@�����allowlist�ɂ����MAC�A�h���X�������_�������Ă��AMAC�A�h���X��ǐՂł���Bluetooth Address Tracking �iBAT�j�ƌĂԃT�C�h�`���l���U�����Ă���B

�@�����_��������MAC�A�h���X�́A�y�A�����O����2�‚̃f�o�C�X�Ԃŋ��L���闐���ƈÍ��L�[�ł���IRK�iIdentity Resolution Key�j�𐶐�����B�������݂�Bluetooth�v���g�R���ł͗����̑I����@���K�肵�Ă��炸�A�����̗������ė��p�ł��Ȃ��d�g�݂����݂��Ȃ��B

�@���̂��ߍU���҂�IRK���擾�ł��Ȃ����A�X�j�b�t�B���O����MAC�A�h���X�����W���A������Đ����ăf�o�C�X�����ƒ��X�g�ɂ��邩�ǂ������ώ@���邾���ŁA�����_�����𒴂��ăf�o�C�X��ǐՂł���B�擾����MAC�A�h���X��W�J���邱�ƂŁA���[�U�[�̉ߋ��̋O�Ձi�Ⴆ�΁A���[�U�[���ߋ��ɍs�����ꏊ�j�⃊�A���^�C���̈ʒu�܂ŒǐՂ��邱�Ƃ��”\�ɂ���B

�@�]�������ł́A�J�X�^�}�C�Y�����X�}�[�g�t�H�����g����50�ȏ�i43���BLE���Ӌ@��A11��̃Z���g�����A4��̊J���{�[�h�j��Bluetooth�@���BAT�U�����e�X�g�����B���̌��ʁAMAC�A�h���X��p�ɂɃ����_�������Ă��A�U���҂͔�Q�҂̃f�[�^�������N���čĐ��ł���ƕ��������B

�e�X�g�����f�o�C�X�̕]������

�@�����҂�́ABAT�U���ɑ΂���h���ł���v���g�^�C�v�uSABLE�v�iSecuring Address for BLE�j���J�������B����ɂ���āA�U���҂���Q�҂̃f�o�C�X�Ƀ����N�A�b�v���邱�Ƃ�j�~�ł����Əq�ׂĂ���B

�@�����҂�͍���̐Ǝ㐫���ASIG�iBluetooth�̋K�i�J���𓝊�����g�D�j�ATexas Instruments��Nordic�Ȃǂ̃n�[�h�E�F�A�x���_�[�AGoogle�AApple�AMicrosoft�ȂǁABluetooth�ƊE�̎�v�֌W�҂ɕ񍐂����BGoogle�́A����̔������d�含�̍����݌v��̌��ׂƕ]�����A�o�O�o�E���e�B�i�܋��j�����^�����B

Source and Image Credits: Yue Zhang and Zhiqiang Lin. 2022. When Good Becomes Evil: Tracking Bluetooth Low Energy Devices via Allowlist-based Side Channel and Its Countermeasure. In Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security (CCS �f22). Association for Computing Machinery, New York, NY, USA, 3181-3194. https://doi.org/10.1145/3548606.3559372



Copyright © ITmedia, Inc. All Rights Reserved.

'; e_dlv.innerHTML = html; adRequest({position:dlv_pos,dom:true}); }else if(ad_type === 'gam'){ var html = '
'; e_dlv.innerHTML = html; refreshGam('InArtSpecialLink'); }else if(ad_type === 'logly'){ var html = '
'; e_dlv.innerHTML = html; loglySet(g_id); }else if(ad_type === 'google'){ var html = '
'; e_dlv.innerHTML = html; googletag.cmd.push(function(){ var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.display('div-gpt-ad-1551176482959-0'); googletag.pubads().refresh([slot8]); }); } }; var insert_ok = function(_target,_str){ var clearfix = d.createElement('div'); clearfix.className = 'colBoxClear'; if(ad_float_fix){ e_body.insertBefore(e_dlv,_target); e_body.insertBefore(clearfix,_target.nextElementSibling); }else{ e_body.insertBefore(e_dlv,_target); } set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = 'none'; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY �����q�v�f var e_tags = []; // BODY �����^�O var p_num = []; // BODY ���� P �^�O�ʒu var p_target_num; // �g�}����ʒu var o_float = {}; // ��荞�ݗv�f var o_this = {}; // �A�N�e�B�u�^�O var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O var flag_insert = 0; // �}���t���O // ��荞�ݗv�f�`�F�b�N var check_float = function(_e){ var e = 0; if(_e.id.match(/^col\d{3}(l|r)$/)){ e = _e; } return e; }; // �v�f�� Y ���W�ƍ����̍��v�l var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === 'P'){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) - 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; if(dis_con) p_target_num = 0; for(var i = p_num[p_target_num]; i < e_tags.length; i++){ o_this.e = check_ptag(e_tags[i]); if(o_this.e){ o_next.e = check_ptag(e_tags[i + 1]); if(o_next.e){ if(!o_float.e || check_float(e_tags[i - 1])){ o_float.e = check_float(e_tags[i - 1]); o_float.n = i - 1; } if(o_float.e && o_float.n < i + 1){ o_float.y = get_element_y(o_float.e); o_this.y = get_element_y(o_this.e); set_line(o_float.y,'red'); set_line(o_this.y,'blue'); if(o_float.y < o_this.y){ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���'); break; } }else{ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�'); break; } } }else{ o_float = {}; } } if(!flag_insert){ insert_ng('�}���ʒu�Ȃ�'); } }; // �S�q�v�f����^�O�̂ݔz��ɓ���� for(var i = 0; i < e_nodes.length; i++){ if(e_nodes[i].tagName){ e_tags.push(e_nodes[i]); } } // �S�^�O���� P �^�O�ʒu��z��ɓ���� for(var i = 0; i < e_tags.length; i++){ if(e_tags[i].tagName === 'P') p_num.push(i); // �ŏ��̉�荞�ݗv�f���i�[ if(!o_float.e){ o_float.e = check_float(e_tags[i]); o_float.y = get_element_y(o_float.e); o_float.n = i; } } if(p_num.length >= _threshold){ try_insert(); }else{ insert_ng('P �^�O ' + _threshold + ' �ȉ�'); } }; if(e_body){ main(); }else{ insert_ng('�L���{���Ȃ�'); } })(document,4,5);