精华内容
下载资源
问答
  • 但在Win7下总是弹出[Windows交互式服务检测]的对话框,即使选择显示消息,也完全是在另一个环境下显示的,这是在Win7下交互式服务所面临的共同问题。 在百度上查了一下,知道交互式服务检测由Interactive Services ...

    第一次写Windows服务程序,XP下一个MessageBox都弹不出来,在Services.msc中允许其与桌面交互后,MessageBox就能正常弹出。但在Win7下总是弹出[Windows交互式服务检测]的对话框,即使选择显示消息,也完全是在另一个环境下显示的,这是在Win7下交互式服务所面临的共同问题。

    在百度上查了一下,知道交互式服务检测由Interactive Services Detection服务完成。当有服务要与桌面交互的时候,就会触发Interactive Services Detection服务,接着弹出[Windows交互式服务检测]的对话框。

    禁用Interactive Services Detection是无法解决问题的,这样连[Windows交互式服务检测]都不会出现,更何况是与桌面交互的内容呢。

     

    后来我想到新建一个子程序,由这个子程来显示我的对话框

    服务无法显示出对话框,子程不是一个服务,不存在与桌面交互的限制,我想这样应该没问题了吧。。。

    现实是残酷的。。。我就运行Calc.exe,可爱的计算器压根都出不来,出来的还是那个该死的[Windows交互式服务检测]。。。那时我想屎的心都有了。。。

     

    困扰我N多天,我突然发觉不对劲。同样作为服务,为什么Interactive Services Detection就能弹出[Windows交互式服务检测]的对话框,我们写的服务就弹不出呢???凭什么丫

    于是我把焦点集中在Interactive Services Detection服务上。查看Interactive Services Detection服务主程序UI0Detect.exe的输入表,看到CreateProcessAsUser的时候好像想到了些什么。再次运行我的服务,出现[Windows交互式服务检测]的时候打开ProcExp,看到两个UI0Detect.exe,互为父子进程。父进程是服务,子进程不是。想到CreateProcessAsUser,查看一下,果然,父进程的用户为SYSTEM,子进程的用户为当前我用的帐户。

     

    这时候,一切问题都该迎刃而解了吧。

    以下代码Win7下测试通过,XP也能用。运行Windows计算器,Windows计算器界面出现正常,不弹出[Windows交互式服务检测]。

    .686p
    .model flat,stdcall
    option casemap:none

    include Windows.inc
    include User32.inc
    include Kernel32.inc
    include AdvApi32.inc
    include NtDll.inc
    include Wtsapi32.inc
    includelib User32.lib
    includelib Kernel32.lib
    includelib AdvApi32.lib
    includelib NtDll.lib
    includelib Wtsapi32.lib

    .data?
    hSS  dd ?
    hToken dd ?
    stSS SERVICE_STATUS <?>
    @WTS_SESSION_INFO_SessionId dd ?
    @WTS_SESSION_INFO_pWinStationName dd ?
    @WTS_SESSION_INFO_WTS_CONNECTSTATE_CLASS dd ?
    Proc1 STARTUPINFO <?>
    Proc2 PROCESS_INFORMATION <?>

    .data
    @stSTE_lpServiceName dd offset SrvName
    @stSTE_lpServiceProc dd offset ServiceMain

    .const
    SrvName dw 'G','F','K','r','n','l',0
    cmd dw 'C',':','\','w','i','n','d','o','w','s','\','S','y','s','t','e','m','3','2','\','c','a','l','c','.','e','x','e',0

    .code
    SrvCtrlProc Proc _dwControl
      pushad
      mov eax,_dwControl
      .IF eax == SERVICE_CONTROL_STOP
       mov stSS.dwCurrentState,SERVICE_STOPPED
       invoke SetServiceStatus,hSS,offset stSS
      .ElSEIF eax == SERVICE_CONTROL_INTERROGATE
       invoke SetServiceStatus,hSS,offset stSS
      .EndIF
      popad
    ret
    SrvCtrlProc endp

    assume fs:nothing
    ServiceMain Proc _dwArgc,_lpszArgv
      pushad
      invoke RegisterServiceCtrlHandlerW,offset SrvName,offset SrvCtrlProc
      mov hSS,eax
      mov stSS.dwServiceType,SERVICE_WIN32_OWN_PROCESS
      mov stSS.dwCurrentState,SERVICE_RUNNING
      mov stSS.dwControlsAccepted,SERVICE_ACCEPT_STOP
      mov stSS.dwWin32ExitCode,NO_ERROR
      invoke SetServiceStatus,hSS,offset stSS
      invoke WTSGetActiveConsoleSessionId
      invoke WTSQueryUserToken,eax,offset hToken
      invoke CreateProcessInternalW,hToken,offset cmd,0,0,0,FALSE,NORMAL_PRIORITY_CLASS,0,0,offset Proc1,offset Proc2,0
    LoopA:
      invoke Sleep,-1
      jmp LoopA
      popad
    ret
    ServiceMain endp

    Start:
      invoke StartServiceCtrlDispatcherW,offset @stSTE_lpServiceName
      invoke NtTerminateProcess,-1,0
    end Start

    以上代码思路就是,获取当前用户的Token,以当前用户身份创建子进程,想显示出来的东西由这个子程完成。

    注册服务的Reg文件:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\GFKrnl]
    "DisplayName"="Cheege Games Filter Kernel Services"
    "ImagePath"=hex(2):45,00,3a,00,5c,00,47,00,4d,00,46,00,6c,00,74,00,72,00,5c,00,\
      47,00,46,00,53,00,76,00,72,00,2e,00,65,00,78,00,65,00,00,00
    "Description"="XXXXX"
    "ObjectName"="LocalSystem"
    "ErrorControl"=dword:00000001
    "Start"=dword:00000003
    "Type"=dword:00000110
    "FailureActions"=hex:00,00,00,00,00,00,00,00,00,00,00,00,03,00,00,00,14,00,00,\
      00,01,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00
    "RequiredPrivileges"=hex(7):53,00,65,00,54,00,63,00,62,00,50,00,72,00,69,00,76,\
      00,69,00,6c,00,65,00,67,00,65,00,00,00,53,00,65,00,4c,00,6f,00,61,00,64,00,\
      44,00,72,00,69,00,76,00,65,00,72,00,50,00,72,00,69,00,76,00,69,00,6c,00,65,\
      00,67,00,65,00,00,00,00,00
    "ServiceSidType"=dword:00000001

    注意RequiredPrivileges,要有SeTcbPrivilege,不然有可能CreateProcessInternalW失败。还要有SeAssignPrimaryTokenPrivilege权限,否则WTSQueryUserToken失败。

    我的编程风格可能有点不适合大家的口味,我爱自己在源码里拼凑结构体数据,dw定义Unicode字符串,爱用W结尾的API

    展开全文
  • 行业分类-设备装置-以实况广播节目事件提供全交互式服务的数字交互式系统
  • windows vista交互式服务编程JavaEye技术网站
  • 基于组合历史的交互式服务推荐方法.pdf
  • 信息安全技术互联网交互式服务安全保护管理制度.docx
  • 信息安全技术互联网交互式服务安全保护管理制度.doc
  • 创建桌面交互式服务与非交互式服务的区别 顾名思义,交互式服务可以与界面进行交互,比如弹出对话框,日志窗口输出等。交互服务不允许访问网络共享资源,比如网络影射路径等。 如果需要访问网络共享资源,则需要...
      
    

          

    创建桌面交互式服务与非交互式服务的区别

     

    顾名思义,交互式服务可以与界面进行交互,比如弹出对话框,日志窗口输出等。交互服务不允许访问网络共享资源,比如网络影射路径等。

     

    如果需要访问网络共享资源,则需要创建非交互式服务。非交互服务不允许与桌面直接交互,如需交互可通过其他折中方式比如socket, name pipe等。

     

    (Copy from MSDN

    Note  It is possible to display a message box from a service, even if it is not running in the LocalSystem account or not configured to run interactively. Simply call the MessageBox function using the MB_SERVICE_NOTIFICATION flag. Do not call MessageBox during service initialization or from the HandlerEx routine, unless you call it from a separate thread, so that you return to the SCM in a timely manner.

    It is also possible to interact with the desktop from a non-interactive service by modifying the DACLs on the interface window station and desktop or by impersonating the logged-on user and opening the interactive window station and desktop directly. For more information, see Interacting with the User in a Service.

    )

     

    代码范例(c/c++)

     

    SC_HANDLE hService;

           if (strlen(m_szServiceUser) == 0 || strlen(m_szServicePassword) == 0)      

           {

                  hService= ::CreateService(

                         hSCM, m_szServiceName, m_szServiceName,

                         SERVICE_ALL_ACCESS,

    // SERVICE_INTERACTIVE_PROCESS, enable service to interact with desktop (window)

    // If SERVICE_INTERACTIVE_PROCESS is set, network share resource will not be allowed to access (for example net share files or directories).

    SERVICE_WIN32_OWN_PROCESS|SERVICE_INTERACTIVE_PROCESS,

                         SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL,

    // If the user & password is set to NULL, the service will be created with localsystem, shared object created in the service can not be accessed by other process

                         szFilePath, NULL, NULL, _T("RPCSS/0"), NULL, NULL);             

           }

           else

           {

                  hService= ::CreateService(

                         hSCM, m_szServiceName, m_szServiceName,

    // If SERVICE_INTERACTIVE_PROCESS is not set, windows can not be created.

                         SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS,

                         SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL,

                         szFilePath, NULL, NULL, _T("RPCSS/0"), m_szServiceUser, m_szServicePassword);

                 

    // Grant the user the privilege to logon, else if user login with admin or other user name, the service can not be started

                  GrantLoginPrivilege(m_szServiceUser);

              }

     

    // copy from MSDN

    //

     

    /*

    #ifndef UNICODE

    #define UNICODE

    #endif // UNICODE

    */

    #include "stdafx.h"

    #include <windows.h>

    #include <stdio.h>

    #include <TCHAR.h>

    #include "ntsecapi.h"

     

     

    NTSTATUS

    OpenPolicy(

        LPWSTR ServerName,          // machine to open policy on (Unicode)

        DWORD DesiredAccess,        // desired access to policy

        PLSA_HANDLE PolicyHandle    // resultant policy handle

        );

     

    BOOL

    GetAccountSid(

        LPCTSTR SystemName,          // where to lookup account

        LPCTSTR AccountName,         // account of interest

        PSID *Sid                   // resultant buffer containing SID

        );

     

    NTSTATUS

    SetPrivilegeOnAccount(

        LSA_HANDLE PolicyHandle,    // open policy handle

        PSID AccountSid,            // SID to grant privilege to

        LPWSTR PrivilegeName,       // privilege to grant (Unicode)

        BOOL bEnable                // enable or disable

        );

     

    void

    InitLsaString(

        PLSA_UNICODE_STRING LsaString, // destination

        LPWSTR String                  // source (Unicode)

        );

     

    void

    DisplayNtStatus(

        LPSTR szAPI,                // pointer to function name (ANSI)

        NTSTATUS Status             // NTSTATUS error value

        );

     

    void

    DisplayWinError(

        LPSTR szAPI,                // pointer to function name (ANSI)

        DWORD WinError              // DWORD WinError

        );

     

    //

    // If you have the ddk, include ntstatus.h.

    //

    #ifndef STATUS_SUCCESS

    #define STATUS_SUCCESS  ((NTSTATUS)0x00000000L)

    #endif

     

    extern "C" bool GrantLoginPrivilege(LPCTSTR lpszAccountName)

    {

        LSA_HANDLE PolicyHandle;

        PSID pSid;

        NTSTATUS Status;

           bool bSuccess = false;

        WCHAR wComputerName[256]=L"";   // static machine name buffer

     

        //

        // Open the policy on the target machine.

        //

        Status = OpenPolicy(

                    wComputerName,      // target machine

                    POLICY_CREATE_ACCOUNT | POLICY_LOOKUP_NAMES,

                    &PolicyHandle       // resultant policy handle

                    );

     

        if(Status != STATUS_SUCCESS)

           {

            DisplayNtStatus("OpenPolicy", Status);

            return false;

        }

     

           //

           //Remove Domain name if lpszAccountName include one.

           //

     

           TCHAR szName[256];

           TCHAR* p = _tcschr(lpszAccountName, _T('//'));

           if(p != NULL)

           {

                  _tcscpy(szName, p+1);

           }

           else

           {

                  _tcscpy(szName, lpszAccountName);

           }

     

        //

        // Obtain the SID of the user/group.

        // Note that we could target a specific machine, but we don't.

        // Specifying NULL for target machine searches for the SID in the

        // following order: well-known, Built-in and local, primary domain,

        // trusted domains.

        //

     

     

        if(GetAccountSid(

                NULL,       // default lookup logic

                szName,// account to obtain SID

                &pSid       // buffer to allocate to contain resultant SID

                ))

           {

            //

            // We only grant the privilege if we succeeded in obtaining the

            // SID. We can actually add SIDs which cannot be looked up, but

            // looking up the SID is a good sanity check which is suitable for

            // most cases.

     

            //

            // Grant the SeServiceLogonRight to users represented by pSid.

            //

            Status = SetPrivilegeOnAccount(

                        PolicyHandle,           // policy handle

                        pSid,                   // SID to grant privilege

                        L"SeServiceLogonRight", // Unicode privilege

                        TRUE                    // enable the privilege

                        );

     

            if(Status == STATUS_SUCCESS)

                  {

                bSuccess = true;

                  }

            else

                  {

                DisplayNtStatus("SetPrivilegeOnAccount", Status);

                  }

        }

        else

           {

            //

            // Error obtaining SID.

            //

            DisplayWinError("GetAccountSid", GetLastError());

        }

     

        //

        // Close the policy handle.

        //

        LsaClose(PolicyHandle);

     

        //

        // Free memory allocated for SID.

        //

        if(pSid != NULL) HeapFree(GetProcessHeap(), 0, pSid);

     

        return bSuccess;

    }

     

     

    /*++

    This function attempts to obtain a SID representing the supplied

    account on the supplied system.

     

    If the function succeeds, the return value is TRUE. A buffer is

    allocated which contains the SID representing the supplied account.

    This buffer should be freed when it is no longer needed by calling

    HeapFree(GetProcessHeap(), 0, buffer)

     

    If the function fails, the return value is FALSE. Call GetLastError()

    to obtain extended error information.

     

    Scott Field (sfield)    12-Jul-95

    --*/

     

    BOOL

    GetAccountSid(

        LPCTSTR SystemName,

        LPCTSTR AccountName,

        PSID *Sid

        )

    {

        LPTSTR ReferencedDomain=NULL;

        DWORD cbSid=128;    // initial allocation attempt

        DWORD cchReferencedDomain=16; // initial allocation size

        SID_NAME_USE peUse;

        BOOL bSuccess=FALSE; // assume this function will fail

     

        __try {

     

        //

        // initial memory allocations

        //

        *Sid = (PSID)HeapAlloc(GetProcessHeap(), 0, cbSid);

     

        if(*Sid == NULL) __leave;

     

        ReferencedDomain = (LPTSTR)HeapAlloc(

                        GetProcessHeap(),

                        0,

                        cchReferencedDomain * sizeof(TCHAR)

                        );

     

        if(ReferencedDomain == NULL) __leave;

     

        //

        // Obtain the SID of the specified account on the specified system.

        //

        while(!LookupAccountName(

                        SystemName,         // machine to lookup account on

                        AccountName,        // account to lookup

                        *Sid,               // SID of interest

                        &cbSid,             // size of SID

                        ReferencedDomain,   // domain account was found on

                        &cchReferencedDomain,

                        &peUse

                        ))

           {

            if (GetLastError() == ERROR_INSUFFICIENT_BUFFER)

                  {

                //

                // reallocate memory

                //

                *Sid = (PSID)HeapReAlloc(

                            GetProcessHeap(),

                            0,

                            *Sid,

                            cbSid

                            );

                if(*Sid == NULL) __leave;

     

                ReferencedDomain = (LPTSTR)HeapReAlloc(

                            GetProcessHeap(),

                            0,

                            ReferencedDomain,

                            cchReferencedDomain * sizeof(TCHAR)

                            );

                if(ReferencedDomain == NULL) __leave;

            }

            else __leave;

        }

     

        //

        // Indicate success.

        //

        bSuccess = TRUE;

     

        } // try

        __finally {

     

        //

        // Cleanup and indicate failure, if appropriate.

        //

     

        HeapFree(GetProcessHeap(), 0, ReferencedDomain);

     

        if(!bSuccess) {

            if(*Sid != NULL) {

                HeapFree(GetProcessHeap(), 0, *Sid);

                *Sid = NULL;

            }

        }

     

        } // finally

     

        return bSuccess;

    }

     

    NTSTATUS

    SetPrivilegeOnAccount(

        LSA_HANDLE PolicyHandle,    // open policy handle

        PSID AccountSid,            // SID to grant privilege to

        LPWSTR PrivilegeName,       // privilege to grant (Unicode)

        BOOL bEnable                // enable or disable

        )

    {

        LSA_UNICODE_STRING PrivilegeString;

     

        //

        // Create a LSA_UNICODE_STRING for the privilege name.

        //

        InitLsaString(&PrivilegeString, PrivilegeName);

     

        //

        // grant or revoke the privilege, accordingly

        //

        if(bEnable) {

            return LsaAddAccountRights(

                    PolicyHandle,       // open policy handle

                    AccountSid,         // target SID

                    &PrivilegeString,   // privileges

                    1                   // privilege count

                    );

        }

        else {

            return LsaRemoveAccountRights(

                    PolicyHandle,       // open policy handle

                    AccountSid,         // target SID

                    FALSE,              // do not disable all rights

                    &PrivilegeString,   // privileges

                    1                   // privilege count

                    );

        }

    }

     

    void

    InitLsaString(

        PLSA_UNICODE_STRING LsaString,

        LPWSTR String

        )

    {

        DWORD StringLength;

     

        if(String == NULL) {

            LsaString->Buffer = NULL;

            LsaString->Length = 0;

            LsaString->MaximumLength = 0;

            return;

        }

     

        StringLength = lstrlenW(String);

        LsaString->Buffer = String;

        LsaString->Length = (USHORT) StringLength * sizeof(WCHAR);

        LsaString->MaximumLength=(USHORT)(StringLength+1) * sizeof(WCHAR);

    }

     

    NTSTATUS

    OpenPolicy(

        LPWSTR ServerName,

        DWORD DesiredAccess,

        PLSA_HANDLE PolicyHandle

        )

    {

        LSA_OBJECT_ATTRIBUTES ObjectAttributes;

        LSA_UNICODE_STRING ServerString;

        PLSA_UNICODE_STRING Server;

     

        //

        // Always initialize the object attributes to all zeroes.

        //

        ZeroMemory(&ObjectAttributes, sizeof(ObjectAttributes));

     

        if (ServerName != NULL) {

            //

            // Make a LSA_UNICODE_STRING out of the LPWSTR passed in

            //

            InitLsaString(&ServerString, ServerName);

            Server = &ServerString;

        } else {

            Server = NULL;

        }

     

        //

        // Attempt to open the policy.

        //

        return LsaOpenPolicy(

                    Server,

                    &ObjectAttributes,

                    DesiredAccess,

                    PolicyHandle

                    );

    }

     

    void

    DisplayNtStatus(

        LPSTR szAPI,

        NTSTATUS Status

        )

    {

        //

        // Convert the NTSTATUS to Winerror. Then call DisplayWinError().

        //

        DisplayWinError(szAPI, LsaNtStatusToWinError(Status));

    }

     

    void

    DisplayWinError(

        LPSTR szAPI,

        DWORD WinError

        )

    {

        LPSTR MessageBuffer;

        DWORD dwBufferLength;

     

        if(dwBufferLength=FormatMessageA(

                            FORMAT_MESSAGE_ALLOCATE_BUFFER |

                            FORMAT_MESSAGE_FROM_SYSTEM,

                            NULL,

                            WinError,

                            MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),

                            (LPSTR) &MessageBuffer,

                            0,

                            NULL

                            ))

        {

                  char szCaption[256];

                  sprintf(szCaption,"GrantLoginPrivilege:%s", szAPI);

                  ::MessageBox(NULL, MessageBuffer, szCaption, MB_OK|MB_ICONSTOP);

     

            //

            // Free the buffer allocated by the system.

            //

            LocalFree(MessageBuffer);

        }

    }

             

    展开全文
  • GA 1277.1-2020 互联网交互式服务安全管理要求 第1部分:基本要求.pdf
  • GA 1277.5-2020 互联网交互式服务安全管理要求 第5部分:论坛服务.pdf
  • GA 1277.4-2020 互联网交互式服务安全管理要求 第4部分:即时通信服务.pdf
  • GA 1277.2-2020 互联网交互式服务安全管理要求 第2部分:微博客服务.pdf
  • GA 1277.3-2020 互联网交互式服务安全管理要求 第3部分:音视频聊天室服务.pdf
  • 2020 年 3 月 1 日由公安部颁布的《互联网交互式服务安全管理要求》1-5 部分行业标准(以下简称“标准”)正式实施,为互联网交互式服务提供者落实互联网安全管理制度和安全技术措施提供...

    2020 年 3 月 1 日由公安部颁布的《互联网交互式服务安全管理要求》1-5 部分行业标准(以下简称“标准”)正式实施,为互联网交互式服务提供者落实互联网安全管理制度和安全技术措施提供了有效依据。

    近日,北京网络行业协会面向全体会员单位召开线上“《互联网交互式服务安全管理要求》宣贯工作会”,邀请了标准起草专家对内容做相关解读,以期解决各单位在“标准”的理解、执行方面仍存在的诸多疑惑和困难,知道创宇作为成员单位参与了此次会议

    作为网络安全企业,知道创宇责无旁贷,积极投身网络强国建设,以安全实战能力践行历史赋予我们的责任与担当。结合此次宣贯会议,知道创宇业务安全大脑团队特别整理、解读了《互联网交互式服务安全管理要求》的重点内容,帮助企业深入理解标准内容,更好地落地执行。

    本文略长,建议先收藏再阅读~

    《互联网交互式服务安全管理要求》宣贯解读

    第1部分:基本要求

    一、《管理要求》的制定背景和基本框架

    1

    制定背景

    根据第47次《中国互联网络发展状况统计报告》,截止2020年12月,我国网民规模达到9.89亿,我国国内市场上监测到的App数量达到345万款。目前,我国个人互联网应用增长较为平稳,其中用户规模增长最为显著的为短视频、网络支付和网络购物,增长率分别为12.9%、11.2%和10.2%;基础类应用中,即时通信、搜索引擎保持平稳增长态势,增长率为9.5%、2.6%;网络娱乐类应用中,网络直播保持快速增长,增长率为10.2%;网络视频、网络音乐的用户规模分别增长9.0%、3.6%。(以上增长对比为2020年3月数据)

    我国网民规模占全球网民的五分之一,网络安全已上升为国家安全的核心内容和重要组成,需要“牵一发而动全身”的基础安全、综合安全和整体安全全面配合。

    2

    基本框架

    GA 1277《互联网交互式服务安全管理要求》按照GB/T 1.1-2009给出的规则起草,代替GA 1277-2015《信息安全技术互联网交互式服务安全保护要求》,与GA 1277-2015相比有部分变化,主要适用于互联网交互式服务提供者落实互联网安全管理制度和安全技术措施,帮助其细化明确法定责任义务,完善信息网络安全管理制度,规范互联网信息服务活动。

    《互联网交互式服务安全管理要求》拟分成多个部分,包括基本要求和具体服务类型中的要求,计划发布的管理内容包括:基本要求、微博客服务、音视频聊天室服务、即时通信服务、论坛服务、移动应用软件发布平台、云服务、电子商务平台、搜索服务、互联网约车服务和互联网短租房服务。目前已由公安部信息系统安全标准化技术委员会制定发布了基本要求、微博客服务、音视频聊天室服务、即时通信服务、论坛服务等五个部分的强制性公共安全行业标准,于2020年3月1日正式开始实施。

    二、细化了网络安全管理制度要求

    互联网交互式服务提供者应建立文件化的安全管理制度,安全管理制度文件应包括:

    1.安全责任制度

    2.安全岗位管理制度

    3.安全培训制度

    4.人员管理制度

    5.安全运维管理制度

    6.安全评估报备制度

    7.用户注册制度

    8.信息发布审核制度

    9.信息巡查制度

    10.个人信息保护制度

    11.用户投诉举报接收处理制度

    12.安全事件监测、预警、通报及应急响应制度

    13.适用的现行法律、法规、规章、标准和行政审批文件

    互联网交互式服务提供者应建立与安全管理制度相配套的操作规程,包括但不限于:网络与系统运行安全、数据安全和备份、日志与用户数据记录、信息发布审核、违法有害信息防范和处置、个人信息保护、破坏性程序防范、分包等。同时,安全管理制度应经过管理层批准并发布执行。

    三、细化了网络安全责任分配

    1. 互联网交互式服务提供者应在安全责任制度中明确主要负责人、网络安全责任人、安全管理负责人及其他责任人员的责任;

    2. 互联网交互式服务提供者应在安全岗位管理制度中明确关键岗位人员及其职责,其中职责应包括保密管理职责。

    四、细化了网络安全防护措施要求

    1

    网络与系统运行安全

    互联网交互式服务提供者应综合考虑系统的安全需求,制定整体的安全防护方案,落实安全防护措施,建立应急响应体系,包括但不限于:

    A.重要系统和数据库具备容灾能力

    B.根据业务需求,及时进行补丁更新

    C.实施计算机病毒等恶意代码的预防、检测和系统被破坏后的恢复措施

    D.实施不间断地网络攻击和网络入侵行为的预防、检测与响应措施

    E.适用时,对重要文件的完整性进行检测,并具备文件完整性受到破坏后的恢复措施

    F.采取技术措施监测、记录网络运行状态、信息安全事件和用户活动行为等

    G.对系统的脆弱性进行评估(包括安全扫描、渗透测试等方式),并采取适当的措施处理相关的风险

    2

    数据安全与备份

    互联网交互式服务提供者应对数据采取备份和保护等措施,保证数据的安全,包括但不限于:

    A.对数据进行分级分类

    B.对重要数据的传输和存储采取加密等安全保护措施

    C.根据数据分类结果建立不同数据的备份策略,提供足够的备份设施,确保必要的信息和软件在灾难或介质故障时可以恢复

    D.建立数据安全备份和恢复流程,必要时对备份和恢复过程进行演练,并对备份数据进行定期校验

    五、细化了网络日志留存期限要求

    互联网交互式服务提供者应留存相关的日志和用户数据,具体保存周期要求如下:

    1. 永久保留用户注册信息及历史变更信息;

    2. 留存网络运行日志和系统维护日志不少于6个月;

    3. 留存网络安全事件日志不少于6个月;

    4. 留存用户活动日志不少于6个月;

    5. 留存用户发布的信息内容不少于6个月。

    六、细化了网络用户实名注册管理要求

    互联网交互式服务提供者应建立用户管理机制,包括但不限于:

    1

    对用户真实身份信息进行有效核验,有效核验方法应能追溯到用户登记的真实身份,如:

    A.身份证与姓名的实名验证服务

    B.有效的银行卡

    C.合法、有效的数字证书

    D.已确认真实身份的网络服务的注册用户

    E.经电信运营商接入实名认证的用户

    F.生物特征

    2

    禁止匿名用户的信息发布权限,仅提供基本的浏览、查看等功能。

    3

    对用户的账号、昵称、头像和备注等信息进行审核,禁止使用以下内容:

    A.违反国家现行法律法规规定的

    B.违背社会公序良俗的

    C.容易引起公众不良反应或误解的

    4

    建立用户黑名单制度,对互联网交互式服务提供者自行发现以及公安机关通报的多次、大量发送传播违法有害信息的用户应纳入黑名单管理。

    七、细化了防范违法有害信息扩散传播的措施要求

    互联网交互式服务提供者应采取技术措施过滤违法有害信息,包括但不限于:

    1. 基于关键词的违法有害文字信息(支持文字的变种、混淆等)的屏蔽过滤;

    2. 基于样本数据特征值的违法有害音视频、图片的屏蔽过滤;

    3. 基于违法有害外域链接的屏蔽过滤。

    互联网交互式服务提供者应采取技术措施对违法有害信息的来源实施控制,防止继续传播。违法有害信息来源控制技术措施包括但不限于:封禁特定账号、禁止新建账号、禁止分享、禁止留言及回复、控制特定发布来源、控制特定区域或指定IP账号登录、禁止客户端推送、切断与第三方应用的互联互通等。

    八、细化了配合公安机关开展涉网违法犯罪案事件协查的措施要求

    互联网交互式服务提供者应建立涉嫌违法犯罪线、异常情况报告、安全提示和案件调查配合机制,包括:

    1.对发现的违法有害信息,立即停止发布传输,保留相关证据(包括用户注册信息、用户登录信息、用户发布信息等记录),并向属地公安机关报告;

    2.对于煽动非法聚集、策划恐怖互动、扬言实施个人极端行为等重要情况或重大紧急事件立即向属地公安机关报告,同时配合公安机关做好调查取证工作;

    3.在不破坏数据完整性、有效性的前提下,将相关电子数据及时传给属地公安机关,通知相应的公安机关进行现场处理;

    4.互联网交互式服务提供者应与公安机关建立全天候的违法有害信息快速处置工作机制,应能及时删除有明确URL的单条违法有害信息,特定文本、图片、视频、链接等信息的源头以及分享中的任一环节,相关的屏蔽过滤措施应能及时生效。

    九、细化了个人信息安全保护的措施要求

    网络交互式服务提供者应建立覆盖个人信息处理的各个环节的安全保护制度和技术措施,防止个人信息泄露、损毁、丢失,包括:

    1.采用加密方式保存用户密码等重要信息;

    2.对内部员工涉及个人信息的所有操作进行审计,并对审计结果进行分析,预防内部员工故意泄露;

    3.对个人信息的采集、存储或传输行为进行审计,作为信息是否泄露、毁损、丢失的查询依据;

    4.建立程序来控制对涉及个人信息的系统和服务的访问权的分配,这些程序涵盖用户访问生存周期内的各个阶段。

    第2部分:微博客服务

    一、细化了对发布违法有害信息账号的管控措施

    微博客服务提供商应将制作、复制、发布、传播违法有害信息的、多次被其他用户举报或投诉的以及公安机关通报的涉嫌违法犯罪的用户纳入黑名单管理,并根据情节轻重,采取以下动态管理控制措施:

    1.封禁其账号或限制其账号功能;

    2.控制其微博客功能,直至关闭所有功能;

    3.控制其微博客的粉丝数量,直至关闭粉丝关注功能;

    4.对其微博客发布内容实施先审后发措施;

    5.限制其微博客信息发布频率;

    6.控制其微博客内容被转载范围;

    7.控制其微博客只能给其自身的粉丝用户发送私信;

    8.控制其微博客内容只能被其自身的粉丝用户评论;

    9.控制其微博客推荐给他人或其他用户检索;

    10.控制其在其他用户或热门事件微博客下进行评论。

    二、细化了对微博客群组的管控措施

    微博客服务提供商应对微博客群组进行管理,并满足以下要求:

    1.能够根据公安机关的要求设定微博客群组人数上限;

    2.微博客群组创建者、管理员需经实名认证;

    3.群组头像、群组公告以及群组内发布文件不得包含违法有害信息;

    4.所有群组名称均可被搜索;

    5.至少每90天对群组发布信息进行一次巡查。

    三、细化了对微博客用户发布信息的安全审核措施

    微博客服务提供商应具备微博客信息的发布控制功能,并满足以下要求:

    1.对特定区域、特定IP用户发布的微博客信息(包含文本、图片、音视频、链接等信息)进行审核控制,实行先审后发措施;

    2.对网页、客户端等微博客发布源进行审核控制,具备切断一项甚至多项微博客信息发布来源的功能。

    第3部分:音视频聊天室服务

    一、细化了对发布违法有害信息账号的管控措施

    音视频聊天室服务提供商应将制作、复制、发布、传播违法有害信息的、多次被其他用户举报或投诉的以及公安机关通报的涉嫌违法犯罪的用户纳入黑名单管理,并根据情节轻重,采取以下动态管理控制措施:

    1.控制其聊天室账号推荐给他人或其他用户检索;

    2.对其发布内容实行先审后发措施;

    3.限制其信息发布频率;

    4.控制其聊天室内容被转载范围;

    5.控制其音视频聊天功能和粉丝数量;

    6.停止服务,封停账号;

    7.禁止该身份信息再次注册新账号。

    二、细化了对音视频聊天室的管控措施

    应对音视频聊天室进行管理,并满足一下要求:

    1.能够根据需要设定音视频聊天室人数上限;

    2.音视频聊天室所有者、管理员实名认证;

    3.对音视频聊天室的房间名称、频道进行审核;

    4.所有音视频聊天室名称均可被搜索;

    5.定期对音视频聊天室内发布信息进行巡查。

    三、细化了对音视频聊天室用户发布短视频或直播的安全审核措施

    音视频聊天室服务提供商应具备对音视频直播内容的实时监看措施。对同时在线人数超过500人的音视频聊天室和粉丝数量超过1万人的频道主持开设的音视频频道,应以不少于5秒/帧的频次进行视频监看。

    音视频聊天室服务提供商应审核用户发布信息、评论信息等是否包含违法有害信息。音视频聊天室服务提供商可采取人工监看与音视频技术识别、分析或扫描等相结合的方法进行安全审核,并满足以下要求:

    1.非实时直播内容实行先审后发措施;

    2.实时交互和直播内容应采用安全管理员视频监看审核措施。

    第4部分:即时通信服务

    一、细化了对发布违法有害信息账号的管控措施

    即时通信服务提供者应将制作、复制、发布、传播违法有害信息,多次被其他用户举报或投诉的以及公安机关通报的涉嫌违法犯罪的用户纳入黑名单管理,并根据情节轻重,采取以下动态管理控制措施:

    1.控制其消息发送频率;

    2.控制其消息发送功能;

    3.控制该账号功能、好友数量、加入或创建的群组数量;

    4.控制其IM账号对其他用户可见或被其他用户检索;

    5.强制账号下线,停止服务;

    6.封停账号;

    7.禁止该身份信息再次注册新账号。

    二、细化了对即时通信群组的管控措施

    即时通信服务提供者应对群组进行管理,并满足以下要求:

    1.对即时通信群组名称进行审核,禁止使用下列昵称:违反国家现行法律法规规定的、违背社会公序良俗的、容易引起公众不良反应或误解的;

    2.对每个用户可以参加的群组数量设置上限;

    3.能够根据公安机关的要求设定群组人数上限;

    4.对规模超过500人的大型群组进行专项认证和备案管理,大型群组的群主、管理员应提供有效证件的复印件和真实可达的联系方式,并由运营商对此信息的真实性进行核验;大型群组的群组标识、群组名称、群组类型、群组管理机构、群组成员列表、群组创建时间、创建地IP、终端类型等信息需在运营商处备案;

    5.所有群组名称和群组标识均可被搜索;

    6.至少每90天对群组内的文字、图像、声音等信息进行一次巡查。

    第5部分:论坛服务

    一、细化了对发布违法有害信息账号的管控措施

    论坛服务提供商应将制作、复制、发布,传播违法有害信息的、多次被其他用户举报或投诉的以及公安机关通报的涉嫌违法犯罪的用户纳入黑名单管理,并根据情节轻重,采取以下控制措施:

    1. 对其发布的内容实施逐条审核,坚持先审后发原则;

    2. 控制其网络账号推荐给他人或被其他用户检索;

    3. 控制其账号功能和好友数量;

    4. 控制其站内信发送功能;

    5. 控制其发布的内容被回复;

    6. 控制其发布的内容被转载范围;

    7. 控制其对其他用户发帖进行评论的功能;

    8. 限制其论坛信息发布频率;

    9. 控制其论坛发帖和回复功能;

    10. 禁止发帖;

    11. 封停账号,停止服务;

    12. 禁止该身份信息再次注册新账号。

    二、细化了对论坛群组的管控措施

    论坛服务提供商应对论坛群组进行管理,并满足以下要求:

    1. 能够根据公安机关的要求设定论坛群组人数上限;

    2. 论坛群组创建者、管理员需经实名认证;

    3. 群组头像、群组公告以及群组内发布文件不得包含违法有害信息;

    4. 所有群组名称均可被搜索;

    5. 至少每90天对群组发布信息进行一次巡查。

    三、细化了对论坛用户发布信息的安全审核措施

    论坛服务提供商应具备安全审核功能,并满足以下要求:

    1.对特定的论坛用户和黑名单用户发布的论坛信息进行逐条审核,实行先审后发的措施;

    2.对其他论坛用户发布的论坛信息进行抽查审核,实行边发边抽审的措施。

    论坛服务提供商应审核发布信息、转发信息、评论信息、群组公告以及群组内发布文件等内容是否包含违法有害信息。论坛服务提供商应采取人工或自动化、动态分析或静态扫描等方式进行安全审核。

    知道创宇业务安全应用大脑已为中宣部、人民网等政府门户提供重要保障,是腾讯、京东、今日头条的首选业务安全服务商。以下产品可以助力企业更好落地《互联网交互式服务安全管理要求》执行标准:

    知道创宇互联网认证解决方案,十年互联网认证实战经验,通过主体身份认证、行业资质核验、产品资质核查、品牌商标授权核实、版权/著作权授权核实等方式对企业、机构、组织、个人等主体进行资质认证审核,为互联网平台提供认证体系的搭建咨询和实施服务,从准入规则、认证分级、验证流程到结果应用等方面,帮助平台方有效规避风险。

    知道创宇基于十年内容安全审核实战经验,提出基于“AI+引擎 + 安全大数据 + 人工专家”的内容安全解决方案,聚焦内容智能理解核心技术,现已推出护架卫士内容安全审核产品和智能内容审核作业平台。以内容风控为初始应用场景,不断提升核心能力并将核心能力赋能到多个行业,已经成为全球内容智能理解的领导企业。

    站群内容安全云监测可以为客户提供“内容净、监测准、告警全、专项快”的一站式服务,帮助监管单位、政府部门、运营商、集约化平台、互联网企业落实网络信息内容管理,为社交网络、视频直播等新兴互联网平台进行全行业赋能。

    精彩推荐

    云蜜罐VS“经典款”蜜罐

    直降千元!创宇信用网站认证开展初创企业优惠活动

    被黑客“掐断”最大燃油管道,关键基础设施防护更需积极防御体系

    展开全文
  • 关闭交互式服务检测(UI0Detect)

    千次阅读 2016-01-09 15:45:42
    交互式服务检测 服务名称 - UI0Detect显示名称 - Interactive Services Detection)描述 - 启用交互服务需要用户输入时进行用户通知,这样,便可以在交互服务创建的对话框出现时访问这些对话框。如果停止此服务...

    交互式服务检测

    • 服务名称 -  UI0Detect
    • 显示名称 -  Interactive Services Detection)
    • 描述 - 启用交互服务需要用户输入时进行用户通知,这样,便可以在交互服务创建的对话框出现时访问这些对话框。如果停止此服务,则对新交互服务对话框的通知将无法正常运行,而且可能无法访问这些交互服务对话框。如果已禁用此服务,则不再有新的交互服务对话框通知,也无法访问这些对话框。

    关闭方法

    批处理脚本方式:

    net stop UI0Detect	# 停止服务
    sc config UI0Detect start= disabled	# 禁用服务 
    pause  


     


     

    展开全文
  • 在win7以上的系统,当系统服务要弹出对话框的时候,会弹出“交互式服务对话框检测”提示对话框。 原因分析: 真正的问题是Windows 7 服务的Session 0 隔离机制 在Windows XP, Windows Server 2003或者更早期的...
  • 关闭WIN7交互式服务检测提示

    万次阅读 2012-06-18 10:40:44
    最近电脑一直弹出“交互式服务检测”的提示对话框,机器很慢,所以每次弹出来很麻烦。 其实解决方法也很简单,打开控制面板--〉管理工具-〉服务--〉Interactive Services Detection 右键属性-->常规选项卡中...
  • 资料内容仅供您学习参考如有不当或者侵权请联系改正或者删除 交互式信息安全管理制度 目 录 安全管理制度要 法律责任 人员安全管理 访问控制管理 网络操作与安全 应用安全 个人电子信息保护 投诉 安全事件管理 资料...
  • IPTV即交互式网络电视,是一种利用宽带有线电视网,集互联网、多媒体、通讯等多种技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术 Internet Protocol Television...
  • 交互式服务编程的项目心得及总结

    千次阅读 2008-08-29 17:20:00
    交互式编程 ----一个工程的心得总结我们的项目会在Windows NT/2000/XP/Vista 系统中安装一个系统服务,,这个服务负责以 SYSTEM 权限启动我们的主程序,主程序和服务器通信。其中的两项功能带给我很大的困扰。一是...
  • Windows Vista 交互式服务编程

    千次阅读 2006-10-23 12:22:00
    Windows Vista 对快速用户切换,用户账户权限,以及服务程序所运行的会话空间都作了很大的改动,致使一些原本可以工作的程序不再能够正常工作了,我们不得不进行一些改进以跟上 Vista 的步伐。我们的软件在Windows ...
  • 法国eDevice公司新近推出一种交互式语音服务器技术,使原本没有通讯功能的设施,如环境温度控制器,自动设备控制器和报警等,现在都可以通过一台普通固定电话或移动电话进行遥控。 语音服务器安装在相应设备当中...
  • 法国eDevice公司新近推出一种交互式语音服务器技术,使原本没有通讯功能的设施,如环境温度控制器,自动设备控制器和报警等,现在都可以通过一台普通固定电话或移动电话进行遥控。 语音服务器安装在相应设备当中...
  • 电信设备-交互式信息服务控制系统.zip
  • 交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议。 非交互式操作:就是你在你的项目中进行程序调用。比如一边是tomcat web服务器,...
  • 网络游戏-交互式网络信息服务方法.zip
  • 行业资料-电子功用-交互式供电服务系统
  • 交互信息服务响应网站模板
  • 本文研究如何利用交易中间件BEA TUXEDO构建一种交互式的电信自助服务平台,重点介绍了业务逻辑层的设计和交互式功能的设计与实现,提出了一种基于服务时间和业务熟悉程度相结合的多队列机制来实现坐席分配。
  • 最近项目中需要在windows服务中启动交互式程序,还是费了点劲,记录一下 交互式程序也就是需要与人交互的程序,比如带有界面的程序,需要接收用户鼠标键盘消息的程序。比如 notepad.exe,cmd.exe 非交互式程序也...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 339,806
精华内容 135,922
关键字:

交互式服务