US20150074816A1 - Method for url analysis and electronic device thereof - Google Patents

Method for url analysis and electronic device thereof Download PDF

Info

Publication number
US20150074816A1
US20150074816A1 US14/484,216 US201414484216A US2015074816A1 US 20150074816 A1 US20150074816 A1 US 20150074816A1 US 201414484216 A US201414484216 A US 201414484216A US 2015074816 A1 US2015074816 A1 US 2015074816A1
Authority
US
United States
Prior art keywords
url
electronic device
file
processor
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/484,216
Inventor
Dong-Il Son
Hyun-Jung Kim
Sun-kee Lee
Jin-Gil Yang
In-Ji JIN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Assigned to SAMSUNG ELECTRONICS CO., LTD reassignment SAMSUNG ELECTRONICS CO., LTD ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JIN, IN-JI, KIM, HYUN-JUNG, LEE, SUN-KEE, SON, DONG-IL, YANG, JIN-GIL
Publication of US20150074816A1 publication Critical patent/US20150074816A1/en
Priority to US16/209,774 priority Critical patent/US11522870B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware

Definitions

  • the present disclosure relates to a method for analyzing a uniform resource locator (URL) and an electronic device thereof.
  • URL uniform resource locator
  • each of the electronic devices may provide the various multimedia services such as a broadcasting service, a wireless Internet service, a camera service, or a music play service.
  • a URL included in contents e.g., documents, messages (short message service (SMS) message, multimedia message service (MMS) message, and long message service (LMS) messages), messengers, and mails
  • contents e.g., documents, messages (short message service (SMS) message, multimedia message service (MMS) message, and long message service (LMS) messages
  • SMS short message service
  • MMS multimedia message service
  • LMS long message service
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying whether at least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://” is included in a URL to detect the URL from contents in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying whether a URL is harmful using a harmful site database stored in a memory or a server in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying whether a URL is redirected using an ACKnowledge (ACK) message to a URL connection request in an electronic device.
  • ACK ACKnowledge
  • Another aspect of the present disclosure is to provide an apparatus and method for analyzing a redirected final URL in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying whether a file download is linked to a URL in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for temporarily downloading a file and verifying at least one of a name, a type, a capacity, a made date, and a corrected date of the file in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying whether a file is an installable file in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying an authority requested when installing a file in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for temporarily installing a file and verifying an authority requested when installing the file in an electronic device.
  • a method of controlling a URL in an electronic device includes detecting a URL from contents, analyzing the URL, and displaying the analyzed result.
  • an electronic device includes at least one processor, at least one display, at least one memory, and at least one program which is stored in at least the one memory and is configured to be executable by at least the one processor, wherein the at least one processor is configured to detect a URL from contents, analyze the URL, and display the analyzed result.
  • FIG. 1 is a block diagram illustrating a configuration of an electronic device according to embodiments of the present disclosure
  • FIG. 2 is a block diagram illustrating a detailed configuration of hardware according to embodiments of the present disclosure
  • FIG. 3A is a block diagram illustrating a detailed configuration of a programming module according to embodiments of the present disclosure
  • FIG. 3B is a block diagram illustrating a detailed configuration of a URL processing unit and a URL information providing unit according to embodiments of the present disclosure
  • FIG. 4 is a flowchart illustrating a process of analyzing a URL included in contents in an electronic device according to embodiments of the present disclosure
  • FIG. 5 is a flowchart illustrating a process of analyzing a URL included in a message in an electronic device according to embodiments of the present disclosure
  • FIG. 6 is a flowchart illustrating a process of analyzing a redirected URL included in a message in an electronic device according to embodiments of the present disclosure
  • FIG. 7 is a flowchart illustrating a process of analyzing whether a URL included in a message is linked to a file download in an electronic device according to embodiments of the present disclosure
  • FIG. 8 is a flowchart illustrating a process of analyzing an authority requested when installing a file linked to a URL included in a message in an electronic device according to embodiments of the present disclosure.
  • FIGS. 9A , 9 B, 9 C, 9 D, 9 E and 9 F are screens illustrating a process of displaying an analyzed result of a URL included in a message in an electronic device according to embodiments of the present disclosure.
  • FIGS. 1 through 9F discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged electronic device. Exemplary embodiments of the present disclosure will be described herein below with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the disclosure in unnecessary detail.
  • An electronic device may be one or a combination of one or more of various devices which include a smart phone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop PC, a netbook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a moving picture experts group (MPEG) layer 3 (MP3) player, a mobile medical device, an electronic bracelet, an electronic necklace, electronic accessories, a camera, a wearable device, an electronic watch, a wristwatch, smart home appliances (e.g., a refrigerator, an air conditioner, a cleaner, a cybot, a television (TV), a digital versatile disc (DVD) player, an audio, an oven, a microwave oven, a washing machine, an air cleaner, and an electronic picture frame), various medical devices (e.g., a magnetic resonance artery (MRA), a magnetic resonance imaging (MRI), a ct (Computed Tomography),
  • MRA magnetic resonance artery
  • FIG. 1 is a block diagram illustrating configuration of an electronic device according to one embodiment of the present disclosure.
  • the electronic device denoted by 100 includes a bus 110 , a processor 120 , a memory 130 , a user input module 140 , a display module 150 , and a communication module 160 .
  • the bus 110 may be a circuit which may connect components (e.g., the processor 120 , the memory 130 , the user input module 140 , the display module 150 , or the communication module 160 ) included in the electronic device 100 with each other and transmit communication (e.g., a control message) between the components.
  • components e.g., the processor 120 , the memory 130 , the user input module 140 , the display module 150 , or the communication module 160 .
  • the processor 120 may receive commands from the components included in the electronic device 100 through the bus 110 , decode the received commands, and perform calculations or data processing according to the decoded commands.
  • the memory 130 stores commands or data which are received from the processor 120 or other components (e.g., the user input module 140 , the display module 150 , and the communication module 160 ) or are generated by the processor 120 or other components.
  • the memory 130 may store harmful site information (URL or Internet Protocol (IP)).
  • the memory 130 may store URL detection information (e.g., “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://”) for detecting a URL included in contents.
  • the memory 130 may store extension information (e.g., *.apk, *.jpg, and *.mp3) for detecting whether a file download is linked to a URL.
  • the memory 130 may include at least one programming module including a kernel 131 , a middleware 132 , an Application Programming Interface (API) 133 , or an application 134 .
  • at least the one programming module may be software, firmware, hardware, or a combination of two or more of these.
  • the kernel 131 may control or manage system resources (e.g., the bus 110 , the processor 120 , or the memory 130 ) used to execute an operation or function implemented in the other programming modules (e.g., the middleware 132 , the API 133 , or the application 134 ). Also, the kernel 131 may provide an interface which may access a separate component of the electronic device 100 in the middleware 132 , the API 133 , or the application 134 and control or manage the separate component.
  • system resources e.g., the bus 110 , the processor 120 , or the memory 130
  • the kernel 131 may provide an interface which may access a separate component of the electronic device 100 in the middleware 132 , the API 133 , or the application 134 and control or manage the separate component.
  • the middleware 132 may play a role as a go-between such that the API 133 or the application 134 communicates with the kernel 131 and transmits and receives data. Also, the middleware 132 may perform load balancing for work requests using a method of assigning priority which may use a system resource (e.g., the bus 110 , the processor 120 , or the memory 130 ) of the electronic device 100 to the work requests received from at least the one application 134 .
  • a system resource e.g., the bus 110 , the processor 120 , or the memory 130
  • the API 133 is an interface in which the application 134 may control a function provided from the kernel 131 or the middleware 132 .
  • the API 133 may include at least one interface or function for file control, window control, image processing, or text control.
  • the user input module 140 may receive commands or data from the user and transmit the received commands or data to the processor 120 or the memory 130 through the bus 110 .
  • the display module 150 displays videos, images, or data to the user.
  • the communication module 160 may perform communication between the electronic device 100 and other electronic devices 102 and 104 .
  • the communication module 160 may support a local-area communication protocol (e.g., Wireless-Fidelity (Wi-Fi), BlueTooth (BT), Near Field Communication (NFC), or network communication (e.g., the Internet, a Local Area Network (LAN), a Wide Area Network (WAN), a telecommunication network, a cellular network, a satellite network, or a Plain Old Telephone Service (POTS)).
  • a local-area communication protocol e.g., Wireless-Fidelity (Wi-Fi), BlueTooth (BT), Near Field Communication (NFC), or network communication (e.g., the Internet, a Local Area Network (LAN), a Wide Area Network (WAN), a telecommunication network, a cellular network, a satellite network, or a Plain Old Telephone Service (POTS)
  • Wi-Fi Wireless-Fidelity
  • BT BlueTooth
  • NFC Near Field Communication
  • Each of the other electronic devices 102 and 104 may be the same device (e.g., the same type) as the electronic device 100 or a device which is different (e.g., a different type) from the electronic device 100 .
  • FIG. 2 is a block diagram illustrating a detailed configuration of hardware according to embodiments of the present disclosure.
  • the hardware denoted by 200 may include one or more processors 210 , a Subscriber Identity Module (SIM) card 214 , a memory 220 , a communication module 230 , a sensor module 240 , a user input module 250 , a display module 260 , an interface 270 , an audio codec 280 , a camera module 291 , a power management module 295 , a battery 296 , an indicator 297 , and a motor 298 .
  • the hardware 200 may be the electronic device 100 shown in FIG. 1 .
  • the processor 210 may include one or more Application Processors (APs) 211 and one or more Communication Processors (CPs) 213 .
  • APs Application Processors
  • CPs Communication Processors
  • the processor 210 may be the processor 120 shown in FIG. 1 .
  • the AP 211 and the CP 213 shown in FIG. 2 are shown to be included in the processor 210 . However, the AP 211 and the CP 213 may be included in different IC packages, respectively. Also, the AP 211 and the CP 213 may be included in one IC package. In addition, the processor 210 may further include a Graphic Processing Unit (GPU).
  • GPU Graphic Processing Unit
  • the AP 211 may execute an Operating System (OS) or an application program, control a plurality of hardware or software components connected thereto, and process and calculate various data including multimedia data.
  • OS Operating System
  • SoC System on Chip
  • the CP 213 may perform a function for managing a data link in communication between other electronic devices connected with an electronic device including the hardware 200 through a network and change a communication protocol.
  • the CP 213 may be implemented as SoC.
  • the CP 213 may perform at least a part of a multimedia control function.
  • the CP 213 may identify and authenticate a terminal in a communication network using an SIM (e.g., the SIM card 214 ).
  • the CP 213 may provide a service including a voice call, a video call, a text message, or packet data to a user of the hardware 200 .
  • the CP 213 may control data transmission and reception of the communication module 230 .
  • components of the CP 213 , the power management module 295 , or the memory 220 are shown as components which are separated from the AP 211 .
  • the AP 211 may be implemented to include a part (e.g., the CP 213 ) of the components.
  • the AP 211 or the CP 213 may load and process commands or data received from at least one of a non-volatile memory or another component connected thereto to a volatile memory. Also, the AP 211 or the CP 213 may store data which are received from at least one of other components or are generated by at least one of other components in a non-volatile memory.
  • the SIM card 214 may be a card implementing a SIM.
  • the SIM card 214 may be inserted into a slot formed in a specific position of the electronic device.
  • the SIM card 214 may include unique identification information (e.g., an integrated circuit card identity (ICCID)) or subscriber information (e.g., an international mobile subscriber identity (IMSI)).
  • ICCID integrated circuit card identity
  • IMSI international mobile subscriber identity
  • the memory 220 may include an internal memory 222 or an external memory 224 .
  • the memory 220 may be the memory 130 shown in FIG. 1 .
  • the internal memory 222 may include at least one of a volatile memory (e.g., a dynamic random access memory (DRAM), a static RAM (SRAM), or a synchronous dynamic RAM (SDRAM)) or a non-volatile memory (e.g., a one time programmable read only memory (OTPROM), a PROM, an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), a mask ROM, a flash ROM, a NAND flash memory, or a NOR flash memory).
  • a volatile memory e.g., a dynamic random access memory (DRAM), a static RAM (SRAM), or a synchronous dynamic RAM (SDRAM)
  • a non-volatile memory e.g., a one time programmable read only memory (OTPROM), a PROM, an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), a mask ROM, a flash ROM, a NAND
  • the external memory 224 may include at least one of a compact flash (CF) card, a secure digital (SD) card, a micro-SD card, a mini-SD card, an extreme digital (xD) card, or a memory stick.
  • CF compact flash
  • SD secure digital
  • micro-SD micro-SD card
  • mini-SD mini-SD card
  • xD extreme digital
  • the communication module 230 may include a wireless communication module 231 or a radio frequency (RF) module 234 .
  • the communication module 230 may be the communication module 160 shown in FIG. 1 .
  • the wireless communication module 231 may provide a wireless communication function using RFs.
  • the wireless communication module 231 may include a Wi-Fi module 233 , a BT module 235 , a GPS module 237 , or a NFC module 239 .
  • the wireless communication module 231 may include a network interface (e.g., a LAN card) or a modem for connecting the hardware 200 with the network (e.g., the Internet, a LAN, a WAN, a telecommunication network, a cellular network, a satellite network, or a POTS).
  • the network e.g., the Internet, a LAN, a WAN, a telecommunication network, a cellular network, a satellite network, or a POTS.
  • the RF module 234 may control transmission and reception of data including an RF signal or a called electronic signal.
  • the RF module 234 may include a transceiver, a power amplifier module (PAM), a frequency filter, or a low noise amplifier (LNA).
  • the RF module 234 may include components (e.g., conductors or conducting wires) for transmitting and receiving electromagnetic waves on a free space in wireless communication.
  • the sensor module 240 may include at least one of a gesture sensor 240 A, a gyro sensor 240 B, an atmospheric pressure sensor 240 C, a magnetic sensor 240 D, an acceleration sensor 240 E, a grip sensor 240 F, a proximity sensor 240 G, a red, green, and blue (RGB) sensor 240 H, a bio-sensor 240 I, a temperature/humidity sensor 240 J, an illumination sensor 240 K, and a ultra violet (UV) sensor 240 M. Also, the sensor module 240 may measure a physical quantity or sense an operation state of the electronic device, and convert the measured or sensed information into an electric signal.
  • the sensor module 240 may include an olfactory sensor, an electromyography (EMG) sensor, an electroencephalogram (EEG) sensor, an electrocardiogram (ECG) sensor, or a fingerprint sensor. Also, the sensor module 240 may further include a control circuit for controlling one or more sensors included therein.
  • the user input module 250 may include a touch panel 252 , a pen sensor 254 , a key 256 , or an ultrasonic input device 258 .
  • the user input module 250 may be the user input module 140 shown in FIG. 1 .
  • the touch panel 252 may recognize a touch input by at least one of a capacitive type, a resistive type, an infrared type, or an ultrasonic type.
  • the touch panel 252 may further include a controller.
  • the touch panel 252 may recognize not only direct touch input but also proximity touch input.
  • the touch panel 252 may further include a tactile layer.
  • the touch panel 252 may provide a tactile response to the user.
  • the pen sensor 254 may be implemented using the same or similar method as a method of receiving a touch input of the user or using a separate sheet for recognition.
  • the key 256 may include a keypad or a touch key.
  • the ultrasonic input device 258 is a device which may sense sound waves using a microphone 288 and verify data in the electronic device through a pen which generates ultrasonic waves.
  • the ultrasonic input device 258 may perform wireless recognition.
  • the hardware 200 may receive input of the user from an external device (e.g., the network 102 of FIG. 1 , a computer, or the server 164 of FIG. 1 ) connected with the communication module 230 using the communication module 230 .
  • an external device e.g., the network 102 of FIG. 1 , a computer, or the server 164 of FIG. 1
  • the display module 260 may include a panel 262 or a hologram 264 .
  • the display module 260 may be the display module 150 shown in FIG. 1 .
  • the panel 262 may be a liquid crystal display (LCD) or an active matrix-organic light-emitting Diode (AM-OLED). Also, the panel 262 may be flexibly, transparently, or wearably implemented. Herein, the panel 262 and the touch panel 252 may be integrated with each other to constitute one module.
  • LCD liquid crystal display
  • AM-OLED active matrix-organic light-emitting Diode
  • the hologram 264 shows stereoscopic images on the air using interference of light.
  • the display module 260 may further include a control circuit for controlling the panel 262 or the hologram 264 .
  • the interface 270 may include a high definition multimedia interface (HDMI) 272 , a universal serial bus (USB) interface 274 , a projector 276 , a D-sub (subminiature) interface 278 , a secure digital/multimedia Card (SD/MMC) interface, or an infrared data association (IrDA) interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • projector 276 a projector 276
  • D-sub (subminiature) interface 278 a secure digital/multimedia Card (SD/MMC) interface
  • IrDA infrared data association
  • the audio codec 280 may convert voices and electronic signals in a two-way direction.
  • the audio codec 280 may convert voice information input or output through a speaker 282 , a receiver 284 , an earphone 286 , or the microphone 288 .
  • the camera module 291 may capture images and videos.
  • the camera module 291 may include one or more image sensors (e.g., a front lens or a rear lens), an image signal processor (ISP), or a flash LED.
  • image sensors e.g., a front lens or a rear lens
  • ISP image signal processor
  • flash LED e.g., a flash LED
  • the power management module 295 may manage power of the hardware 200 .
  • the power management module 295 may include a power management integrated circuit (PMIC), a charging IC, or a battery gauge.
  • PMIC power management integrated circuit
  • the PMIC may be mounted in an IC or a SoC semiconductor.
  • a charging method of the power management module 295 may be classified into a wire charging method or a wireless charging method.
  • the charging IC may charge a battery and prevent inflow of overvoltage or overcurrent from a charger.
  • the charging IC may include a charging IC for at least one of the wire charging method or the wireless charging method.
  • the wireless charging method is a magnetic resonance method, a magnetic induction method, or an electromagnetic wave method.
  • additional circuits e.g., a coil loop, a resonance circuit, and a rectifier circuit for wireless charging may be added.
  • the battery gauge may measure the remaining capacity of the battery 296 , voltage in charging, current, or a temperature.
  • the battery 296 may generate electricity and supply power.
  • the battery 296 may be a rechargeable battery.
  • the indicator 297 may indicate a specific state (e.g., a booting state, a message state, or a charging state) of the hardware 200 or a part of the hardware (e.g., the AP 211 ).
  • a specific state e.g., a booting state, a message state, or a charging state
  • the motor 298 may convert an electric signal into a mechanical vibration.
  • a micro control unit may control the sensor module 240 .
  • the hardware 200 may further include a processing device (e.g., a GPU) for supporting a mobile TV.
  • a processing device e.g., a GPU
  • the processing device for supporting the mobile TV may process media data according to the standard of digital multimedia broadcasting (DMB), digital video broadcasting (DVB), or media flow.
  • DMB digital multimedia broadcasting
  • DVD digital video broadcasting
  • Names of components of hardware according to one embodiment of the present disclosure may differ according to kinds of electronic devices.
  • the hardware according to one embodiment of the present disclosure may include at least one of the components. Some components of the hardware may be omitted or the hardware may further include other additional components. Also, some of the components of the hardware according to one embodiment of the present disclosure are combined and configured as one device. Therefore, the one device may equally perform functions of the corresponding components before some of the components are combined.
  • FIG. 3A is a block diagram illustrating a detailed configuration of a programming module according to embodiments of the present disclosure.
  • the programming module denoted by 300 may include a kernel 310 , middleware 330 , an API 360 , or an application 370 .
  • the programming module 300 may be included (e.g., stored) in the electronic device 100 (e.g., the memory 130 ) shown in FIG. 1 . At least a part of the programming module 300 may be configured by software, firmware, hardware, or combination of two or more of them.
  • the programming module 300 may include an OS which is implemented in the hardware 200 of FIG. 2 and controls resources related to the electronic device 100 , or may include the plurality of applications 370 executed in the OS.
  • the OS may include Android, iOS, Windows, Symbian, Tizen, or Bada.
  • the kernel 310 may include a system resource manager 311 or a device driver 312 .
  • the kernel 310 may be the kernel 131 shown in FIG. 1 .
  • the system resource manager 311 may control, assign, or collect system resources.
  • the system resource manager 311 may include a process management unit, a memory management unit, or a file system management unit.
  • the device driver 312 may include a display driver, a camera driver, a Bluetooth driver, a shared memory driver, a USB driver, a keypad driver, a Wi-Fi driver, an audio driver, or an inter process communication (IPC) driver.
  • a display driver a camera driver, a Bluetooth driver, a shared memory driver, a USB driver, a keypad driver, a Wi-Fi driver, an audio driver, or an inter process communication (IPC) driver.
  • IPC inter process communication
  • the middleware 330 may include a plurality of modules which are previously implemented to provide functions the application 370 uses in common.
  • the middleware 330 may be the middleware 132 shown in FIG. 1 .
  • the middleware 330 may provide functions through the API 360 such that the application 370 uses limited system resources in the electronic device efficiently.
  • the middleware 330 may include at least one of a runtime library 335 , an application manager 341 , a window manager 342 , a multimedia manager 343 , a resource manager 344 , a power manager 345 , a database manager 346 , a package manager 347 , a connection manager 348 , a notification manager 349 , a position manager 350 , a graphic manager 351 , and a security manager 352 .
  • a runtime library 335 an application manager 341 , a window manager 342 , a multimedia manager 343 , a resource manager 344 , a power manager 345 , a database manager 346 , a package manager 347 , a connection manager 348 , a notification manager 349 , a position manager 350 , a graphic manager 351 , and a security manager 352 .
  • the runtime manager 355 may include a library module used by a compiler to add a new function through a programming language while the application 370 is executed.
  • the runtime manager 355 may perform a function for input and output, memory management, or an arithmetic function.
  • the application manager 341 may manage a life cycle of at least one of the applications 370 .
  • the window manager 342 may manage graphic user interface (GUI) resources used on a screen of the electronic device.
  • GUI graphic user interface
  • the multimedia manager 343 may ascertain a format necessary for reproducing various media files and encode or decode a media file using a codec corresponding to the corresponding format.
  • the resource manager 344 may manage source codes of at least one of the applications 370 , and manage resources of the memory 130 shown in FIG. 1 or resources of a storage.
  • the power manager 345 may act with a basic input output system (BIOS), manage a battery or a power source, and provide power information necessary for an operation.
  • BIOS basic input output system
  • the database manager 346 may perform a management operation to generate, search, or change a database to be used in at least one of the applications 370 .
  • the database manager 346 may manage harmful site information (e.g., a URL or an IP) stored in the memory 130 shown in FIG. 1 .
  • the package manager 347 may manage installation or update of an application distributed by a type of a package file. For example, when an installable file is downloaded through a URL, the package manager 347 may install the corresponding file temporarily in a temporary installation region before being actually installed.
  • the connection manager 348 may manage wireless connection of Wi-Fi or BT.
  • the notification manager 349 may display or notify events of an arrival message, an appointment, and a proximity notification by a method which is not disturbed to the user.
  • the position manager 350 may manage position information of the electronic device.
  • the graphic manager 350 may manage a graphic effect to be provided to the user or a UI related to the graphic effect.
  • the security manager 352 may provide all security functions necessary for system security or user authentication.
  • the middleware 330 may further include a call manager for managing a voice or video call function of the electronic device 100 .
  • the middleware 330 may generate and use a new middleware module through various function combinations of internal component modules.
  • the middleware 330 may provide a module which specializes while being classified according to kinds of OSs to provide a differentiated function. Also, the middleware 330 may dynamically delete some old components or add new components. Therefore, some components described in various embodiments of the present disclosure may be omitted, other components may be further added, or components having different names for performing similar functions may be replaced.
  • the API 360 as a set of API programming functions may be provided as different components according to OSs.
  • the API 360 may be the API 133 shown in FIG. 1 .
  • one API set may be provided while being classified according to platforms.
  • two or more API sets may be provided.
  • the application 370 may include a preloaded application or a third party application.
  • the application 370 may be the application 134 shown in FIG. 1 .
  • the programming module 300 may be implemented as instructions stored in a storing medium which is readable by at least a computer. When an instruction may be executed by the one or more processors 210 shown in FIG. 1 , the one or more processors 210 may perform a function corresponding to the instructions.
  • the storing medium which is readable by the computer may be the memory 260 shown in FIG. 2 .
  • a part of the programming module 300 may be implemented (e.g., executed) by the processor 210 .
  • a part of the programming module 300 may include a module for performing one or more functions, a program, a routine, an instruction set, or a process.
  • Names of the components of the programming module 300 according to one embodiment of the present disclosure may differ according to kinds of OSs. Also, the programming module 300 according to one embodiment of the present disclosure may include one or more components listed above. Some of the components may be omitted. The programming module 300 according to one embodiment of the present disclosure may further include additional components.
  • FIG. 3B is a block diagram illustrating detailed configuration of a URL processing unit and a URL information providing unit according to embodiments of the present disclosure.
  • an electronic device may include the URL processing unit denoted by 390 and the URL information providing unit denoted by 395 .
  • the URL processing unit 390 may include a URL detecting unit 391 , a URL analyzing unit 392 , an Internet connecting unit 393 , and a file processing unit 394 .
  • respective functions included in the URL processing unit 390 and the URL information providing unit 395 may be executed in one module.
  • respective functions included in the URL processing unit 390 and the URL information providing unit 395 may be independently executed while being classified according to respective modules.
  • the URL detecting unit 391 , the URL analyzing unit 392 , the Internet connecting unit 393 , and the file processing unit 394 may be included in each of the applications 134 and 370 or each of the middleware 132 and 330 .
  • the URL detecting unit 391 may verify whether a URL is included in received contents. If it is sensed that the URL is included in the received contents, the URL detecting unit 391 may transmit a corresponding URL address to the server 164 through the Internet connecting unit 394 . Herein, when user input for the corresponding URL is generated, the URL detecting unit 391 may transmit the URL address to the server 164 through the Internet connecting unit 393 .
  • the URL analyzing unit 392 may verify whether the corresponding URL indicates a harmful site. Also, the URL analyzing unit 392 may verify whether the corresponding URL is redirected. Herein, the URL analyzing unit 392 may further include a URL redirection verifying unit for verifying whether the corresponding URL is redirected. Transmitting the URL through the Internet connecting unit 393 , the URL analyzing unit 302 may receive an ACK message for redirection according to the URL. The URL analyzing unit 302 may extract redirection URL information which replies to the transmitted URL from the corresponding ACK message.
  • the URL information providing unit 395 may provide additional information based on the result of processing the URL in the URL processing unit 390 and the result of analyzing the file in the URL processing unit 390 .
  • the URL information providing unit 395 may perform a control operation to display information of the corresponding URL.
  • the file analyzing unit 394 may download a file linked to the URL temporarily and analyze the downloaded file. Herein, the file analyzing unit 394 may verify whether the file linked to the URL is an installable file and verify an authority requested when installing the file.
  • FIG. 4 is a flowchart illustrating a process of analyzing a URL included in contents in an electronic device according to embodiments of the present disclosure.
  • the electronic device detects a URL from contents in operation 401 .
  • the electronic device may verify at least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://” is included in the contents.
  • the contents may include at least one of documents, messages (SMS message, MMS messages, and LMS messages), messengers, and mails.
  • the electronic device may analyze the URL included in the contents in operation 403 .
  • the electronic device may verify whether the URL is harmful.
  • the electronic device may verify whether the URL is redirected.
  • the electronic device whether a file download is linked to the URL.
  • the electronic device may verify information of a file linked to the URL.
  • the electronic device may verify whether the file linked to the URL is an installable file.
  • the electronic device may verify an authority requested when installing the file, when the file linked to the URL is an installable file.
  • the electronic device may install the installable file linked to the URL temporarily and verify an authority requested when installing the file.
  • the electronic device displays the result of analyzing the URL in operation 405 .
  • the electronic device may display a message indicating that the URL 907 is not harmful (see reference number 911 ).
  • the electronic device may display redirected final URL information of the URL 907 (see reference number 921 ).
  • the electronic device may display whether a file download is linked to the URL 907 (see reference number 931 ).
  • the electronic device may display information of a file linked to the URL 907 (see reference number 941 ).
  • the electronic device may display an authority requested when installing a file, when the file linked to the URL 907 is an installable file (see reference number 951 ).
  • the electronic device detects the URL from the contents, analyzes the URL, and displays the analyzed result.
  • FIG. 5 is a flowchart illustrating a process of analyzing a URL included in a message in an electronic device according to embodiments of the present disclosure.
  • the electronic device receives a message in operation 501 .
  • the electronic device may perform a control operation to execute the SMS/MMS application 373 and display a message 903 , as shown in FIG. 9A .
  • the electronic device After receiving the message, the electronic device verifies whether a URL is included in the message in operation 503 . For example, the electronic device may verify whether at least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://” is included in the message.
  • the electronic device may include a URL detection module for verifying whether a URL is included in the message. If the URL is not included in the message, the electronic device may end the process of FIG. 5 .
  • the electronic device when the URL is included in the message, the electronic device attempts to access the URL in operation 505 .
  • the electronic device may receive an IP address corresponding to the URL (http://short-url.ss) 907 from a domain name server (DNS) and attempt to access the received IP address.
  • the electronic device may include an Internet connecting unit for accessing the URL included in the message.
  • the electronic device analyzes the URL in operation 507 .
  • the electronic device may verify whether the “http://short-url.ss” 907 is included in harmful site information stored in the memory 130 .
  • the electronic device may verify whether an IP address corresponding to the “http://short-url.ss” 907 is included in harmful site information stored in the memory 130 .
  • the electronic device may verify whether the “http://short-url.ss” 907 is included in harmful site information stored in the server 164 .
  • the electronic device may verify whether an IP address corresponding to the “http://short-url.ss” 907 is included in the harmful site information stored in the server 164 .
  • the electronic device may include a URL analyzing unit for analyzing a URL.
  • the electronic device displays the result of analyzing the URL in operation 509 .
  • the electronic device may display, as shown in FIG. 9B , information indicating whether the URL 907 indicates a harmful site (see reference number 911 ).
  • the electronic device may include a URL information providing unit for providing a result of analyzing a URL.
  • FIG. 6 is a flowchart illustrating a process of analyzing a redirected URL included in a message in an electronic device according to embodiments of the present disclosure.
  • the electronic device receives a message in operation 601 .
  • the electronic device may perform a control operation to execute the SMS/MMS application 373 and display, as shown in FIG. 9A , a message 903 .
  • the electronic device After receiving the message, the electronic device verifies whether a URL is included in the message in operation 603 . For example, the electronic device may verify whether at least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://” is included in the message.
  • the electronic device may include a URL detection module for verifying whether a URL is included in the message. If the URL is not included in the message, the electronic device may end the process of FIG. 6 .
  • the electronic device when the URL is included in the message, the electronic device attempts to access the URL in operation 605 .
  • the electronic device may receive an IP address corresponding to the “http://short-url.ss” 907 from a DNS and attempt to access the received IP address.
  • the electronic device may include an Internet connecting unit for accessing the URL included in the message.
  • the electronic device After attempting to access the URL, the electronic device verifies whether a redirection code is received in operation 607 . After requesting an access to the “http://short-url.ss” 907 , the electronic device may verify whether a “302” code is included in a received ACK message. Also, the electronic device may verify whether a code, for verifying that it is redirected, is included in the ACK message, in addition to the “302” code. Herein, the electronic device may include a URL redirection verifying unit for verifying whether the URL is redirected.
  • the electronic device receives a final URL in operation 609 .
  • a final URL For example, when the “302” code is included in the ACK message of the “http://short-url.ss” 907 , the electronic device may verify a final URL address in a destination item included in the ACK message.
  • the electronic device analyzes the URL in operation 611 .
  • the electronic device may verify whether the “http://short-url.ss” 907 or an IP address corresponding to the “http://short-url.ss” 907 is included in harmful site information stored in the memory 130 or the server 164 .
  • the electronic device may determine whether a final URL of the “http://short-url.ss” 907 or an IP address corresponding to the final URL of the “http://short-url.ss” 907 is included in the harmful site information stored in the memory 130 or the server 164 .
  • the electronic device may include a URL analyzing unit for analyzing the URL.
  • the electronic device displays the result of analyzing the URL in operation 613 .
  • the electronic device may display, as shown in FIG. 9B , information indicating whether the URL 907 or the final URL of the URL 907 indicates a harmful site (see reference number 911 ).
  • the electronic device may display information about the final URL of the URL 907 (see reference number 921 ).
  • the electronic device may include a URL information providing unit for providing the result of analyzing the URL.
  • FIG. 7 is a flowchart illustrating a process of analyzing whether a URL included in a message is linked to a file download in an electronic device according to embodiments of the present disclosure.
  • the electronic device verifies whether a file download is linked to the URL in operation 701 .
  • the electronic device may verify whether a file download is linked to the URL with reference to a “content-type” included in a header of Multi-purpose Internet Mail Extensions (MIME).
  • MIME Multi-purpose Internet Mail Extensions
  • the electronic device may verify whether a “*.previously defined extension” is included in an ACK according to an URL access. If the file download is not linked to the URL, the electronic device may analyze the URL in operation 507 or 611 . Also, when the file download is not linked to the URL, the electronic device may display, as shown in FIG. 9D , information indicating whether a file download is linked to the URL 907 (see reference number 931 ).
  • the electronic device analyzes a file in operation 703 .
  • the electronic device may download a file to a partial area of the memory 130 temporarily and verify information of the file.
  • the information of the file may include at least one of a name, a type, capacity, a made date, and a corrected date of the file.
  • the electronic device may include a file analyzing unit for analyzing a file.
  • the electronic device displays the result of analyzing the file in operation 705 .
  • the electronic device may display, as shown in FIG. 9E , information of a file linked to the URL 907 (see reference number 941 ).
  • the electronic device may include a file information providing unit for providing the result of analyzing the file.
  • FIG. 8 is a flowchart illustrating a process of analyzing an authority requested when installing a file linked to a URL included in a message in an electronic device according to embodiments of the present disclosure.
  • the electronic device verifies whether a file download is linked to the URL in operation 801 .
  • the electronic device may verify whether a file download is linked to the URL with reference to a “content-type” included in a header of MIME.
  • the electronic device may verify whether a “*.previously defined extension” is included in an ACK according to an URL access. If the file download is not linked to the URL, the electronic device may analyze the URL in operation 507 or 611 . Also, when the file download is not linked to the URL, the electronic device may display, as shown in FIG. 9D , information indicating whether a file download is linked to the URL 907 (see reference number 931 ).
  • the electronic device verifies whether the file is an installable file in operation 803 .
  • the electronic device may verify whether a “*.installable extension” is included in an ACK according to a URL access.
  • the electronic device may verify whether a “*.extension” is included in an ACK.
  • the electronic device verifies an authority requested when installing the file in operation 805 .
  • the electronic device may download a file temporarily to a partial area of the memory 130 and verify an authority requested when installing the file.
  • the electronic device may verify information of the file, which includes at least one of a name, a type, a capacity, a made date, and a corrected date of the file.
  • the electronic device may analyze a “MANIFEST.XML” file included in the “file.apk” file and verify the authority requested when installing the file.
  • the electronic device may install a downloaded file temporarily and verify the authority requested when installing the file.
  • the electronic device may include a file analyzing unit for analyzing the file.
  • the electronic device displays the result of analyzing the file in operation 807 .
  • the electronic device may display, as shown in FIG. 9F , information about an authority requested when installing a file linked to the URL 907 .
  • the electronic device may display, as shown in FIG. 9D , information of a file linked to the URL 907 (see reference number 941 ).
  • the electronic device may include a file information providing unit for providing the result of analyzing the file.
  • the electronic device analyzes the URL when the URL is included in the contents.
  • the electronic device may analyze a URL when selection of the URL included in contents is sensed.
  • the electronic device displays the result of analyzing the URL when the URL is included in the contents.
  • the electronic device may display a result of analyzing a URL when selection of the URL included in contents is sensed.
  • the user of the electronic device may verify information corresponding to the URL before the electronic device is linked to the URL by detecting the URL included in the contents, analyzing the URL, and displaying the analyzed result.
  • a computer-readable storage medium for storing one or more programs (software modules) may be provided.
  • the one or more programs stored in the computer-readable storage medium are configured for being executed by one or more processors in an electronic device.
  • the one or more programs include instructions for allowing an electronic device to execute the methods according to the claims of the present disclosure and/or the embodiments described in the specification of the present disclosure.
  • programs may be stored in a random access memory (RAM), a non-volatile memory including a flash memory, a read only memory (ROM), an electrically erasable programmable ROM (EEPROM), a magnetic disc storage device, a compact disc-ROM (CD-ROM), a digital versatile disc (DVD) or an optical storage device of a different type, and a magnetic cassette.
  • RAM random access memory
  • non-volatile memory including a flash memory, a read only memory (ROM), an electrically erasable programmable ROM (EEPROM), a magnetic disc storage device, a compact disc-ROM (CD-ROM), a digital versatile disc (DVD) or an optical storage device of a different type, and a magnetic cassette.
  • the programs may be stored in a memory configured by combination of some or all of them.
  • the configured memory may include a plurality of memories.
  • the programs may stored in an attachable storage device capable of accessing an electronic device through each of communication networks such as the Internet, an intranet, a local area network (LAN), a wide LAN (WLAN), and a storage area network (SAN) or a communication network configured by combination of them.
  • This storage device may connect to the electronic device through an external port.
  • a separate storage device on a communication network may connect to a portable electronic device.

Abstract

A method and apparatus for analyzing a URL included in contents and displaying the analyzed result is provided. The method includes detecting a URL from contents, analyzing the URL, and displaying the analyzed result.

Description

    PRIORITY
  • The present application is related to and claims the benefit under 35 U.S.C. §119(a) of a Korean patent application filed in the Korean Intellectual Property Office on Sep. 11, 2013 and assigned Serial No. 10-2013-0109099, the entire disclosure of which is hereby incorporated by reference.
  • TECHNICAL FIELD
  • The present disclosure relates to a method for analyzing a uniform resource locator (URL) and an electronic device thereof.
  • BACKGROUND
  • As information and communication technologies and semiconductor technologies have been developed, various electronic devices have been developed into multimedia devices, each of them for providing various multimedia services. For example, each of the electronic devices may provide the various multimedia services such as a broadcasting service, a wireless Internet service, a camera service, or a music play service.
  • When selection of a URL included in contents (e.g., documents, messages (short message service (SMS) message, multimedia message service (MMS) message, and long message service (LMS) messages), messengers, and mails) by a user of the electronic device is sensed, the electronic device executes an Internet program, connects to a corresponding URL, and provides a corresponding service.
  • As described above, when a URL is included in contents, there is an inconvenience in that the electronic device may not acquire information about the corresponding URL before directly connecting to the corresponding URL.
  • SUMMARY
  • To address the above-discussed deficiencies, it is a primary object to provide an apparatus and method for detecting a URL from contents, analyzing the URL, and displaying the analyzed result in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying whether at least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://” is included in a URL to detect the URL from contents in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying whether a URL is harmful using a harmful site database stored in a memory or a server in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying whether a URL is redirected using an ACKnowledge (ACK) message to a URL connection request in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for analyzing a redirected final URL in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying whether a file download is linked to a URL in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for temporarily downloading a file and verifying at least one of a name, a type, a capacity, a made date, and a corrected date of the file in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying whether a file is an installable file in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for verifying an authority requested when installing a file in an electronic device.
  • Another aspect of the present disclosure is to provide an apparatus and method for temporarily installing a file and verifying an authority requested when installing the file in an electronic device.
  • In accordance with an aspect of the present disclosure, a method of controlling a URL in an electronic device is provided. The method includes detecting a URL from contents, analyzing the URL, and displaying the analyzed result.
  • In accordance with another aspect of the present disclosure, an electronic device is provided. The electronic device includes at least one processor, at least one display, at least one memory, and at least one program which is stored in at least the one memory and is configured to be executable by at least the one processor, wherein the at least one processor is configured to detect a URL from contents, analyze the URL, and display the analyzed result.
  • Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or,” is inclusive, meaning and/or; the phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term “controller” means any device, system or part thereof that controls at least one operation, such a device may be implemented in hardware, firmware or software, or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. Definitions for certain words and phrases are provided throughout this patent document, those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior, as well as future uses of such defined words and phrases.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:
  • FIG. 1 is a block diagram illustrating a configuration of an electronic device according to embodiments of the present disclosure;
  • FIG. 2 is a block diagram illustrating a detailed configuration of hardware according to embodiments of the present disclosure;
  • FIG. 3A is a block diagram illustrating a detailed configuration of a programming module according to embodiments of the present disclosure;
  • FIG. 3B is a block diagram illustrating a detailed configuration of a URL processing unit and a URL information providing unit according to embodiments of the present disclosure;
  • FIG. 4 is a flowchart illustrating a process of analyzing a URL included in contents in an electronic device according to embodiments of the present disclosure;
  • FIG. 5 is a flowchart illustrating a process of analyzing a URL included in a message in an electronic device according to embodiments of the present disclosure;
  • FIG. 6 is a flowchart illustrating a process of analyzing a redirected URL included in a message in an electronic device according to embodiments of the present disclosure;
  • FIG. 7 is a flowchart illustrating a process of analyzing whether a URL included in a message is linked to a file download in an electronic device according to embodiments of the present disclosure;
  • FIG. 8 is a flowchart illustrating a process of analyzing an authority requested when installing a file linked to a URL included in a message in an electronic device according to embodiments of the present disclosure; and
  • FIGS. 9A, 9B, 9C, 9D, 9E and 9F are screens illustrating a process of displaying an analyzed result of a URL included in a message in an electronic device according to embodiments of the present disclosure.
  • DETAILED DESCRIPTION
  • FIGS. 1 through 9F, discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged electronic device. Exemplary embodiments of the present disclosure will be described herein below with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the disclosure in unnecessary detail.
  • An electronic device according to various embodiments of the present disclosure may be one or a combination of one or more of various devices which include a smart phone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, a desktop PC, a laptop PC, a netbook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a moving picture experts group (MPEG) layer 3 (MP3) player, a mobile medical device, an electronic bracelet, an electronic necklace, electronic accessories, a camera, a wearable device, an electronic watch, a wristwatch, smart home appliances (e.g., a refrigerator, an air conditioner, a cleaner, a cybot, a television (TV), a digital versatile disc (DVD) player, an audio, an oven, a microwave oven, a washing machine, an air cleaner, and an electronic picture frame), various medical devices (e.g., a magnetic resonance artery (MRA), a magnetic resonance imaging (MRI), a ct (Computed Tomography), an imaging apparatus, and a ultrasonic machine), a navigation device, a global positioning system (GPS) receiver, an event data recorder (EDR), a flight data recorder (FDR), a set-top box, a TV box (e.g., SAMSUNG HOMESYNC, APPLE TV, or GOOGLE TV), an electronic dictionary, a car infotainment device, electronic equipment for a ship (e.g., a navigation device for ship and a gyrocompass), an air electronic device, a security device, electronic clothes, an electronic key, a camcorder, a game console, a head mounted display (HMD), a flat panel display, an electronic album, a part of furniture or a building/structure including a communication function, an electronic board, an electronic signature input device, a projector, or any other suitable device. It is obvious to a person skilled in the art that the electronic device according to various embodiments of the present disclosure is not limited to the above-described devices.
  • FIG. 1 is a block diagram illustrating configuration of an electronic device according to one embodiment of the present disclosure.
  • Referring to FIG. 1, the electronic device denoted by 100 includes a bus 110, a processor 120, a memory 130, a user input module 140, a display module 150, and a communication module 160.
  • The bus 110 may be a circuit which may connect components (e.g., the processor 120, the memory 130, the user input module 140, the display module 150, or the communication module 160) included in the electronic device 100 with each other and transmit communication (e.g., a control message) between the components.
  • The processor 120 may receive commands from the components included in the electronic device 100 through the bus 110, decode the received commands, and perform calculations or data processing according to the decoded commands.
  • The memory 130 stores commands or data which are received from the processor 120 or other components (e.g., the user input module 140, the display module 150, and the communication module 160) or are generated by the processor 120 or other components. For one example, the memory 130 may store harmful site information (URL or Internet Protocol (IP)). For another example, the memory 130 may store URL detection information (e.g., “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://”) for detecting a URL included in contents. For another example, the memory 130 may store extension information (e.g., *.apk, *.jpg, and *.mp3) for detecting whether a file download is linked to a URL.
  • Also, the memory 130 may include at least one programming module including a kernel 131, a middleware 132, an Application Programming Interface (API) 133, or an application 134. Herein, at least the one programming module may be software, firmware, hardware, or a combination of two or more of these.
  • The kernel 131 may control or manage system resources (e.g., the bus 110, the processor 120, or the memory 130) used to execute an operation or function implemented in the other programming modules (e.g., the middleware 132, the API 133, or the application 134). Also, the kernel 131 may provide an interface which may access a separate component of the electronic device 100 in the middleware 132, the API 133, or the application 134 and control or manage the separate component.
  • The middleware 132 may play a role as a go-between such that the API 133 or the application 134 communicates with the kernel 131 and transmits and receives data. Also, the middleware 132 may perform load balancing for work requests using a method of assigning priority which may use a system resource (e.g., the bus 110, the processor 120, or the memory 130) of the electronic device 100 to the work requests received from at least the one application 134.
  • The API 133 is an interface in which the application 134 may control a function provided from the kernel 131 or the middleware 132. The API 133 may include at least one interface or function for file control, window control, image processing, or text control.
  • The user input module 140 may receive commands or data from the user and transmit the received commands or data to the processor 120 or the memory 130 through the bus 110.
  • The display module 150 displays videos, images, or data to the user.
  • The communication module 160 may perform communication between the electronic device 100 and other electronic devices 102 and 104. Herein, the communication module 160 may support a local-area communication protocol (e.g., Wireless-Fidelity (Wi-Fi), BlueTooth (BT), Near Field Communication (NFC), or network communication (e.g., the Internet, a Local Area Network (LAN), a Wide Area Network (WAN), a telecommunication network, a cellular network, a satellite network, or a Plain Old Telephone Service (POTS)).
  • Each of the other electronic devices 102 and 104 may be the same device (e.g., the same type) as the electronic device 100 or a device which is different (e.g., a different type) from the electronic device 100.
  • FIG. 2 is a block diagram illustrating a detailed configuration of hardware according to embodiments of the present disclosure.
  • Referring to FIGS. 1 and 2, the hardware denoted by 200 may include one or more processors 210, a Subscriber Identity Module (SIM) card 214, a memory 220, a communication module 230, a sensor module 240, a user input module 250, a display module 260, an interface 270, an audio codec 280, a camera module 291, a power management module 295, a battery 296, an indicator 297, and a motor 298. Herein, the hardware 200 may be the electronic device 100 shown in FIG. 1.
  • The processor 210 may include one or more Application Processors (APs) 211 and one or more Communication Processors (CPs) 213. Herein, the processor 210 may be the processor 120 shown in FIG. 1.
  • The AP 211 and the CP 213 shown in FIG. 2 are shown to be included in the processor 210. However, the AP 211 and the CP 213 may be included in different IC packages, respectively. Also, the AP 211 and the CP 213 may be included in one IC package. In addition, the processor 210 may further include a Graphic Processing Unit (GPU).
  • The AP 211 may execute an Operating System (OS) or an application program, control a plurality of hardware or software components connected thereto, and process and calculate various data including multimedia data. Herein, the AP 211 may be implemented as System on Chip (SoC).
  • The CP 213 may perform a function for managing a data link in communication between other electronic devices connected with an electronic device including the hardware 200 through a network and change a communication protocol. Herein, the CP 213 may be implemented as SoC.
  • Also, the CP 213 may perform at least a part of a multimedia control function.
  • Also, the CP 213 may identify and authenticate a terminal in a communication network using an SIM (e.g., the SIM card 214). Herein, the CP 213 may provide a service including a voice call, a video call, a text message, or packet data to a user of the hardware 200.
  • The CP 213 may control data transmission and reception of the communication module 230.
  • In FIG. 2, components of the CP 213, the power management module 295, or the memory 220 are shown as components which are separated from the AP 211. However, the AP 211 may be implemented to include a part (e.g., the CP 213) of the components.
  • The AP 211 or the CP 213 may load and process commands or data received from at least one of a non-volatile memory or another component connected thereto to a volatile memory. Also, the AP 211 or the CP 213 may store data which are received from at least one of other components or are generated by at least one of other components in a non-volatile memory.
  • The SIM card 214 may be a card implementing a SIM. The SIM card 214 may be inserted into a slot formed in a specific position of the electronic device. The SIM card 214 may include unique identification information (e.g., an integrated circuit card identity (ICCID)) or subscriber information (e.g., an international mobile subscriber identity (IMSI)).
  • The memory 220 may include an internal memory 222 or an external memory 224. Herein, the memory 220 may be the memory 130 shown in FIG. 1.
  • The internal memory 222 may include at least one of a volatile memory (e.g., a dynamic random access memory (DRAM), a static RAM (SRAM), or a synchronous dynamic RAM (SDRAM)) or a non-volatile memory (e.g., a one time programmable read only memory (OTPROM), a PROM, an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), a mask ROM, a flash ROM, a NAND flash memory, or a NOR flash memory). Herein, the internal memory 222 may include a type of a solid state disk (SSD).
  • The external memory 224 may include at least one of a compact flash (CF) card, a secure digital (SD) card, a micro-SD card, a mini-SD card, an extreme digital (xD) card, or a memory stick.
  • The communication module 230 may include a wireless communication module 231 or a radio frequency (RF) module 234. Herein, the communication module 230 may be the communication module 160 shown in FIG. 1.
  • The wireless communication module 231 may provide a wireless communication function using RFs. For one example, the wireless communication module 231 may include a Wi-Fi module 233, a BT module 235, a GPS module 237, or a NFC module 239. For another example, the wireless communication module 231 may include a network interface (e.g., a LAN card) or a modem for connecting the hardware 200 with the network (e.g., the Internet, a LAN, a WAN, a telecommunication network, a cellular network, a satellite network, or a POTS).
  • The RF module 234 may control transmission and reception of data including an RF signal or a called electronic signal. For example, the RF module 234 may include a transceiver, a power amplifier module (PAM), a frequency filter, or a low noise amplifier (LNA). Also, the RF module 234 may include components (e.g., conductors or conducting wires) for transmitting and receiving electromagnetic waves on a free space in wireless communication.
  • The sensor module 240 may include at least one of a gesture sensor 240A, a gyro sensor 240B, an atmospheric pressure sensor 240C, a magnetic sensor 240D, an acceleration sensor 240E, a grip sensor 240F, a proximity sensor 240G, a red, green, and blue (RGB) sensor 240H, a bio-sensor 240I, a temperature/humidity sensor 240J, an illumination sensor 240K, and a ultra violet (UV) sensor 240M. Also, the sensor module 240 may measure a physical quantity or sense an operation state of the electronic device, and convert the measured or sensed information into an electric signal. For example, the sensor module 240 may include an olfactory sensor, an electromyography (EMG) sensor, an electroencephalogram (EEG) sensor, an electrocardiogram (ECG) sensor, or a fingerprint sensor. Also, the sensor module 240 may further include a control circuit for controlling one or more sensors included therein.
  • The user input module 250 may include a touch panel 252, a pen sensor 254, a key 256, or an ultrasonic input device 258. Herein, the user input module 250 may be the user input module 140 shown in FIG. 1.
  • The touch panel 252 may recognize a touch input by at least one of a capacitive type, a resistive type, an infrared type, or an ultrasonic type. Herein, the touch panel 252 may further include a controller. In case of the capacity type, the touch panel 252 may recognize not only direct touch input but also proximity touch input. The touch panel 252 may further include a tactile layer. Herein, the touch panel 252 may provide a tactile response to the user.
  • The pen sensor 254 may be implemented using the same or similar method as a method of receiving a touch input of the user or using a separate sheet for recognition.
  • The key 256 may include a keypad or a touch key.
  • The ultrasonic input device 258 is a device which may sense sound waves using a microphone 288 and verify data in the electronic device through a pen which generates ultrasonic waves. The ultrasonic input device 258 may perform wireless recognition.
  • The hardware 200 may receive input of the user from an external device (e.g., the network 102 of FIG. 1, a computer, or the server 164 of FIG. 1) connected with the communication module 230 using the communication module 230.
  • The display module 260 may include a panel 262 or a hologram 264. Herein, the display module 260 may be the display module 150 shown in FIG. 1.
  • The panel 262 may be a liquid crystal display (LCD) or an active matrix-organic light-emitting Diode (AM-OLED). Also, the panel 262 may be flexibly, transparently, or wearably implemented. Herein, the panel 262 and the touch panel 252 may be integrated with each other to constitute one module.
  • The hologram 264 shows stereoscopic images on the air using interference of light.
  • In addition, the display module 260 may further include a control circuit for controlling the panel 262 or the hologram 264.
  • The interface 270 may include a high definition multimedia interface (HDMI) 272, a universal serial bus (USB) interface 274, a projector 276, a D-sub (subminiature) interface 278, a secure digital/multimedia Card (SD/MMC) interface, or an infrared data association (IrDA) interface.
  • The audio codec 280 may convert voices and electronic signals in a two-way direction. For example, the audio codec 280 may convert voice information input or output through a speaker 282, a receiver 284, an earphone 286, or the microphone 288.
  • The camera module 291 may capture images and videos. For example, the camera module 291 may include one or more image sensors (e.g., a front lens or a rear lens), an image signal processor (ISP), or a flash LED.
  • The power management module 295 may manage power of the hardware 200. For example, the power management module 295 may include a power management integrated circuit (PMIC), a charging IC, or a battery gauge. The PMIC may be mounted in an IC or a SoC semiconductor.
  • A charging method of the power management module 295 may be classified into a wire charging method or a wireless charging method.
  • The charging IC may charge a battery and prevent inflow of overvoltage or overcurrent from a charger. Herein, the charging IC may include a charging IC for at least one of the wire charging method or the wireless charging method. The wireless charging method is a magnetic resonance method, a magnetic induction method, or an electromagnetic wave method. In the wireless charging method, additional circuits (e.g., a coil loop, a resonance circuit, and a rectifier circuit) for wireless charging may be added.
  • The battery gauge may measure the remaining capacity of the battery 296, voltage in charging, current, or a temperature.
  • The battery 296 may generate electricity and supply power. For example, the battery 296 may be a rechargeable battery.
  • The indicator 297 may indicate a specific state (e.g., a booting state, a message state, or a charging state) of the hardware 200 or a part of the hardware (e.g., the AP 211).
  • The motor 298 may convert an electric signal into a mechanical vibration.
  • A micro control unit (MCU) may control the sensor module 240.
  • In addition, the hardware 200 may further include a processing device (e.g., a GPU) for supporting a mobile TV. For example, the processing device for supporting the mobile TV may process media data according to the standard of digital multimedia broadcasting (DMB), digital video broadcasting (DVB), or media flow.
  • Names of components of hardware according to one embodiment of the present disclosure may differ according to kinds of electronic devices. The hardware according to one embodiment of the present disclosure may include at least one of the components. Some components of the hardware may be omitted or the hardware may further include other additional components. Also, some of the components of the hardware according to one embodiment of the present disclosure are combined and configured as one device. Therefore, the one device may equally perform functions of the corresponding components before some of the components are combined.
  • FIG. 3A is a block diagram illustrating a detailed configuration of a programming module according to embodiments of the present disclosure.
  • Referring to FIGS. 1, 2, and 3A, the programming module denoted by 300 may include a kernel 310, middleware 330, an API 360, or an application 370. The programming module 300 may be included (e.g., stored) in the electronic device 100 (e.g., the memory 130) shown in FIG. 1. At least a part of the programming module 300 may be configured by software, firmware, hardware, or combination of two or more of them. The programming module 300 may include an OS which is implemented in the hardware 200 of FIG. 2 and controls resources related to the electronic device 100, or may include the plurality of applications 370 executed in the OS. For example, the OS may include Android, iOS, Windows, Symbian, Tizen, or Bada.
  • The kernel 310 may include a system resource manager 311 or a device driver 312. Herein, the kernel 310 may be the kernel 131 shown in FIG. 1.
  • The system resource manager 311 may control, assign, or collect system resources. For example, the system resource manager 311 may include a process management unit, a memory management unit, or a file system management unit.
  • The device driver 312 may include a display driver, a camera driver, a Bluetooth driver, a shared memory driver, a USB driver, a keypad driver, a Wi-Fi driver, an audio driver, or an inter process communication (IPC) driver.
  • The middleware 330 may include a plurality of modules which are previously implemented to provide functions the application 370 uses in common. Herein, the middleware 330 may be the middleware 132 shown in FIG. 1. Also, the middleware 330 may provide functions through the API 360 such that the application 370 uses limited system resources in the electronic device efficiently. For example, the middleware 330 may include at least one of a runtime library 335, an application manager 341, a window manager 342, a multimedia manager 343, a resource manager 344, a power manager 345, a database manager 346, a package manager 347, a connection manager 348, a notification manager 349, a position manager 350, a graphic manager 351, and a security manager 352.
  • The runtime manager 355 may include a library module used by a compiler to add a new function through a programming language while the application 370 is executed. For example, the runtime manager 355 may perform a function for input and output, memory management, or an arithmetic function.
  • The application manager 341 may manage a life cycle of at least one of the applications 370.
  • The window manager 342 may manage graphic user interface (GUI) resources used on a screen of the electronic device.
  • The multimedia manager 343 may ascertain a format necessary for reproducing various media files and encode or decode a media file using a codec corresponding to the corresponding format.
  • The resource manager 344 may manage source codes of at least one of the applications 370, and manage resources of the memory 130 shown in FIG. 1 or resources of a storage.
  • The power manager 345 may act with a basic input output system (BIOS), manage a battery or a power source, and provide power information necessary for an operation.
  • The database manager 346 may perform a management operation to generate, search, or change a database to be used in at least one of the applications 370. For example, the database manager 346 may manage harmful site information (e.g., a URL or an IP) stored in the memory 130 shown in FIG. 1.
  • The package manager 347 may manage installation or update of an application distributed by a type of a package file. For example, when an installable file is downloaded through a URL, the package manager 347 may install the corresponding file temporarily in a temporary installation region before being actually installed.
  • The connection manager 348 may manage wireless connection of Wi-Fi or BT.
  • The notification manager 349 may display or notify events of an arrival message, an appointment, and a proximity notification by a method which is not disturbed to the user.
  • The position manager 350 may manage position information of the electronic device.
  • The graphic manager 350 may manage a graphic effect to be provided to the user or a UI related to the graphic effect.
  • The security manager 352 may provide all security functions necessary for system security or user authentication.
  • In addition, when the electronic device 100 shown in FIG. 1 has a phone function, the middleware 330 may further include a call manager for managing a voice or video call function of the electronic device 100.
  • The middleware 330 may generate and use a new middleware module through various function combinations of internal component modules. The middleware 330 may provide a module which specializes while being classified according to kinds of OSs to provide a differentiated function. Also, the middleware 330 may dynamically delete some old components or add new components. Therefore, some components described in various embodiments of the present disclosure may be omitted, other components may be further added, or components having different names for performing similar functions may be replaced.
  • The API 360 as a set of API programming functions may be provided as different components according to OSs. Herein, the API 360 may be the API 133 shown in FIG. 1. For example, in case of Android or iOS, one API set may be provided while being classified according to platforms. In case of Tizen, two or more API sets may be provided.
  • The application 370 may include a preloaded application or a third party application. Herein, the application 370 may be the application 134 shown in FIG. 1.
  • The programming module 300 may be implemented as instructions stored in a storing medium which is readable by at least a computer. When an instruction may be executed by the one or more processors 210 shown in FIG. 1, the one or more processors 210 may perform a function corresponding to the instructions. The storing medium which is readable by the computer may be the memory 260 shown in FIG. 2. Also, a part of the programming module 300 may be implemented (e.g., executed) by the processor 210. A part of the programming module 300 may include a module for performing one or more functions, a program, a routine, an instruction set, or a process.
  • Names of the components of the programming module 300 according to one embodiment of the present disclosure may differ according to kinds of OSs. Also, the programming module 300 according to one embodiment of the present disclosure may include one or more components listed above. Some of the components may be omitted. The programming module 300 according to one embodiment of the present disclosure may further include additional components.
  • FIG. 3B is a block diagram illustrating detailed configuration of a URL processing unit and a URL information providing unit according to embodiments of the present disclosure.
  • As shown in FIGS. 1, 3A, and 3B, an electronic device may include the URL processing unit denoted by 390 and the URL information providing unit denoted by 395. Herein, the URL processing unit 390 may include a URL detecting unit 391, a URL analyzing unit 392, an Internet connecting unit 393, and a file processing unit 394. Herein, in accordance with one embodiment of the present disclosure, respective functions included in the URL processing unit 390 and the URL information providing unit 395 may be executed in one module. Or, respective functions included in the URL processing unit 390 and the URL information providing unit 395 may be independently executed while being classified according to respective modules. Also, the URL detecting unit 391, the URL analyzing unit 392, the Internet connecting unit 393, and the file processing unit 394 may be included in each of the applications 134 and 370 or each of the middleware 132 and 330.
  • The URL detecting unit 391 may verify whether a URL is included in received contents. If it is sensed that the URL is included in the received contents, the URL detecting unit 391 may transmit a corresponding URL address to the server 164 through the Internet connecting unit 394. Herein, when user input for the corresponding URL is generated, the URL detecting unit 391 may transmit the URL address to the server 164 through the Internet connecting unit 393.
  • The URL analyzing unit 392 may verify whether the corresponding URL indicates a harmful site. Also, the URL analyzing unit 392 may verify whether the corresponding URL is redirected. Herein, the URL analyzing unit 392 may further include a URL redirection verifying unit for verifying whether the corresponding URL is redirected. Transmitting the URL through the Internet connecting unit 393, the URL analyzing unit 302 may receive an ACK message for redirection according to the URL. The URL analyzing unit 302 may extract redirection URL information which replies to the transmitted URL from the corresponding ACK message.
  • The URL information providing unit 395 may provide additional information based on the result of processing the URL in the URL processing unit 390 and the result of analyzing the file in the URL processing unit 390. Herein, the URL information providing unit 395 may perform a control operation to display information of the corresponding URL.
  • The file analyzing unit 394 may download a file linked to the URL temporarily and analyze the downloaded file. Herein, the file analyzing unit 394 may verify whether the file linked to the URL is an installable file and verify an authority requested when installing the file.
  • FIG. 4 is a flowchart illustrating a process of analyzing a URL included in contents in an electronic device according to embodiments of the present disclosure.
  • Referring to FIG. 4, the electronic device detects a URL from contents in operation 401. For example, the electronic device may verify at least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://” is included in the contents. Herein, the contents may include at least one of documents, messages (SMS message, MMS messages, and LMS messages), messengers, and mails.
  • Thereafter, the electronic device may analyze the URL included in the contents in operation 403. For one example, the electronic device may verify whether the URL is harmful. For another example, the electronic device may verify whether the URL is redirected. For another example, the electronic device whether a file download is linked to the URL. For another example, the electronic device may verify information of a file linked to the URL. For another example, the electronic device may verify whether the file linked to the URL is an installable file. For another example, the electronic device may verify an authority requested when installing the file, when the file linked to the URL is an installable file. For another example, the electronic device may install the installable file linked to the URL temporarily and verify an authority requested when installing the file.
  • Thereafter, the electronic device displays the result of analyzing the URL in operation 405. For one example, as shown in FIG. 9B, the electronic device may display a message indicating that the URL 907 is not harmful (see reference number 911). For another example, as shown in FIG. 9C, the electronic device may display redirected final URL information of the URL 907 (see reference number 921). For another example, as shown in FIG. 9D, the electronic device may display whether a file download is linked to the URL 907 (see reference number 931). For another example, as shown in FIG. 9E, the electronic device may display information of a file linked to the URL 907 (see reference number 941). For another example, as shown in FIG. 9F, the electronic device may display an authority requested when installing a file, when the file linked to the URL 907 is an installable file (see reference number 951).
  • Thereafter, the electronic device ends the process of FIG. 4.
  • In the above-described embodiment of the present disclosure, the electronic device detects the URL from the contents, analyzes the URL, and displays the analyzed result.
  • In another embodiment of the present disclosure, as shown in FIG. 5, a description will be given for a message among contents as an example.
  • FIG. 5 is a flowchart illustrating a process of analyzing a URL included in a message in an electronic device according to embodiments of the present disclosure.
  • Referring to FIGS. 1, 3A, and 5, the electronic device receives a message in operation 501. For example, receiving a message through the communication module 160, the electronic device may perform a control operation to execute the SMS/MMS application 373 and display a message 903, as shown in FIG. 9A.
  • After receiving the message, the electronic device verifies whether a URL is included in the message in operation 503. For example, the electronic device may verify whether at least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://” is included in the message. Herein, the electronic device may include a URL detection module for verifying whether a URL is included in the message. If the URL is not included in the message, the electronic device may end the process of FIG. 5.
  • Alternatively, when the URL is included in the message, the electronic device attempts to access the URL in operation 505. For example, as shown in FIG. 9A, when a URL (http://short-url.ss) 907 is included in the message 903, the electronic device may receive an IP address corresponding to the URL (http://short-url.ss) 907 from a domain name server (DNS) and attempt to access the received IP address. Herein, the electronic device may include an Internet connecting unit for accessing the URL included in the message.
  • Thereafter, the electronic device analyzes the URL in operation 507. For one example, the electronic device may verify whether the “http://short-url.ss” 907 is included in harmful site information stored in the memory 130. For another example, the electronic device may verify whether an IP address corresponding to the “http://short-url.ss” 907 is included in harmful site information stored in the memory 130. For another example, the electronic device may verify whether the “http://short-url.ss” 907 is included in harmful site information stored in the server 164. For another example, the electronic device may verify whether an IP address corresponding to the “http://short-url.ss” 907 is included in the harmful site information stored in the server 164. Herein, the electronic device may include a URL analyzing unit for analyzing a URL.
  • Thereafter, the electronic device displays the result of analyzing the URL in operation 509. For example, the electronic device may display, as shown in FIG. 9B, information indicating whether the URL 907 indicates a harmful site (see reference number 911). Herein, the electronic device may include a URL information providing unit for providing a result of analyzing a URL.
  • Thereafter, the electronic device ends the process of FIG. 5.
  • FIG. 6 is a flowchart illustrating a process of analyzing a redirected URL included in a message in an electronic device according to embodiments of the present disclosure.
  • Referring to FIGS. 1, 3A, and 6, the electronic device receives a message in operation 601. For example, receiving a message through the communication module 160, the electronic device may perform a control operation to execute the SMS/MMS application 373 and display, as shown in FIG. 9A, a message 903.
  • After receiving the message, the electronic device verifies whether a URL is included in the message in operation 603. For example, the electronic device may verify whether at least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://” is included in the message. Herein, the electronic device may include a URL detection module for verifying whether a URL is included in the message. If the URL is not included in the message, the electronic device may end the process of FIG. 6.
  • Alternatively, when the URL is included in the message, the electronic device attempts to access the URL in operation 605. For example, as shown in FIG. 9A, when a URL (http://short-url.ss) 907 is included in the message 903, the electronic device may receive an IP address corresponding to the “http://short-url.ss” 907 from a DNS and attempt to access the received IP address. Herein, the electronic device may include an Internet connecting unit for accessing the URL included in the message.
  • After attempting to access the URL, the electronic device verifies whether a redirection code is received in operation 607. After requesting an access to the “http://short-url.ss” 907, the electronic device may verify whether a “302” code is included in a received ACK message. Also, the electronic device may verify whether a code, for verifying that it is redirected, is included in the ACK message, in addition to the “302” code. Herein, the electronic device may include a URL redirection verifying unit for verifying whether the URL is redirected.
  • If the redirection code is received, the electronic device receives a final URL in operation 609. For example, when the “302” code is included in the ACK message of the “http://short-url.ss” 907, the electronic device may verify a final URL address in a destination item included in the ACK message.
  • Thereafter, the electronic device analyzes the URL in operation 611. For one example, when the redirection code is not received, the electronic device may verify whether the “http://short-url.ss” 907 or an IP address corresponding to the “http://short-url.ss” 907 is included in harmful site information stored in the memory 130 or the server 164. For another example, when the redirection code is received, the electronic device may determine whether a final URL of the “http://short-url.ss” 907 or an IP address corresponding to the final URL of the “http://short-url.ss” 907 is included in the harmful site information stored in the memory 130 or the server 164. Herein, the electronic device may include a URL analyzing unit for analyzing the URL.
  • Thereafter, the electronic device displays the result of analyzing the URL in operation 613. For one example, the electronic device may display, as shown in FIG. 9B, information indicating whether the URL 907 or the final URL of the URL 907 indicates a harmful site (see reference number 911). For another example, as shown in FIG. 9C, the electronic device may display information about the final URL of the URL 907 (see reference number 921). Herein, the electronic device may include a URL information providing unit for providing the result of analyzing the URL.
  • Thereafter, the electronic device ends the process of FIG. 6.
  • FIG. 7 is a flowchart illustrating a process of analyzing whether a URL included in a message is linked to a file download in an electronic device according to embodiments of the present disclosure.
  • Referring to FIGS. 1 and 7, after attempting to access a URL (operation 505 or 605), the electronic device verifies whether a file download is linked to the URL in operation 701. For one example, the electronic device may verify whether a file download is linked to the URL with reference to a “content-type” included in a header of Multi-purpose Internet Mail Extensions (MIME). For another example, the electronic device may verify whether a “*.previously defined extension” is included in an ACK according to an URL access. If the file download is not linked to the URL, the electronic device may analyze the URL in operation 507 or 611. Also, when the file download is not linked to the URL, the electronic device may display, as shown in FIG. 9D, information indicating whether a file download is linked to the URL 907 (see reference number 931).
  • Alternatively, when the file download is linked to the URL, the electronic device analyzes a file in operation 703. For example, the electronic device may download a file to a partial area of the memory 130 temporarily and verify information of the file. Herein, the information of the file may include at least one of a name, a type, capacity, a made date, and a corrected date of the file. Herein, the electronic device may include a file analyzing unit for analyzing a file.
  • Thereafter, the electronic device displays the result of analyzing the file in operation 705. For example, the electronic device may display, as shown in FIG. 9E, information of a file linked to the URL 907 (see reference number 941). Herein, the electronic device may include a file information providing unit for providing the result of analyzing the file.
  • FIG. 8 is a flowchart illustrating a process of analyzing an authority requested when installing a file linked to a URL included in a message in an electronic device according to embodiments of the present disclosure.
  • Referring to FIGS. 1 and 8, after attempting to access a URL (operation 505 or 605), the electronic device verifies whether a file download is linked to the URL in operation 801. For one example, the electronic device may verify whether a file download is linked to the URL with reference to a “content-type” included in a header of MIME. For another example, the electronic device may verify whether a “*.previously defined extension” is included in an ACK according to an URL access. If the file download is not linked to the URL, the electronic device may analyze the URL in operation 507 or 611. Also, when the file download is not linked to the URL, the electronic device may display, as shown in FIG. 9D, information indicating whether a file download is linked to the URL 907 (see reference number 931).
  • Alternatively, when the file download is linked to the URL, the electronic device verifies whether the file is an installable file in operation 803. For example, the electronic device may verify whether a “*.installable extension” is included in an ACK according to a URL access. For example, in the case of Android, the electronic device may verify whether a “*.extension” is included in an ACK.
  • When the file is an installable file, the electronic device verifies an authority requested when installing the file in operation 805. For example, the electronic device may download a file temporarily to a partial area of the memory 130 and verify an authority requested when installing the file. Herein, the electronic device may verify information of the file, which includes at least one of a name, a type, a capacity, a made date, and a corrected date of the file. For example, in case of a file of a “file.apk” format, the electronic device may analyze a “MANIFEST.XML” file included in the “file.apk” file and verify the authority requested when installing the file. For example, the authority requested when installing the file in “MANIFEST.XML” may be expressed such as “<uses-permission android:name=android.permission.request authority”>”. Not verifying the authority requested when installing the file through “MANIFEST.XML” analysis, the electronic device may install a downloaded file temporarily and verify the authority requested when installing the file. Herein, the electronic device may include a file analyzing unit for analyzing the file.
  • Thereafter, the electronic device displays the result of analyzing the file in operation 807. For one example, the electronic device may display, as shown in FIG. 9F, information about an authority requested when installing a file linked to the URL 907. For another example, the electronic device may display, as shown in FIG. 9D, information of a file linked to the URL 907 (see reference number 941). Herein, the electronic device may include a file information providing unit for providing the result of analyzing the file.
  • Thereafter, the electronic device ends the process of FIG. 8.
  • In above-described embodiments of the present disclosure, the electronic device analyzes the URL when the URL is included in the contents.
  • In other embodiments of the present disclosure, the electronic device may analyze a URL when selection of the URL included in contents is sensed.
  • In above-described embodiments of the present disclosure, the electronic device displays the result of analyzing the URL when the URL is included in the contents.
  • In other embodiments of the present disclosure, the electronic device may display a result of analyzing a URL when selection of the URL included in contents is sensed.
  • As describe above, the user of the electronic device may verify information corresponding to the URL before the electronic device is linked to the URL by detecting the URL included in the contents, analyzing the URL, and displaying the analyzed result.
  • Methods according to claims of the present disclosure or embodiments described in the specification of the present disclosure may be implemented as hardware, software, or a combination of hardware and software.
  • When the method is implemented by software, a computer-readable storage medium for storing one or more programs (software modules) may be provided. The one or more programs stored in the computer-readable storage medium are configured for being executed by one or more processors in an electronic device. The one or more programs include instructions for allowing an electronic device to execute the methods according to the claims of the present disclosure and/or the embodiments described in the specification of the present disclosure.
  • These programs (software module, software) may be stored in a random access memory (RAM), a non-volatile memory including a flash memory, a read only memory (ROM), an electrically erasable programmable ROM (EEPROM), a magnetic disc storage device, a compact disc-ROM (CD-ROM), a digital versatile disc (DVD) or an optical storage device of a different type, and a magnetic cassette. Or, the programs may be stored in a memory configured by combination of some or all of them. Also, the configured memory may include a plurality of memories.
  • Also, the programs may stored in an attachable storage device capable of accessing an electronic device through each of communication networks such as the Internet, an intranet, a local area network (LAN), a wide LAN (WLAN), and a storage area network (SAN) or a communication network configured by combination of them. This storage device may connect to the electronic device through an external port.
  • Also, a separate storage device on a communication network may connect to a portable electronic device.
  • While the present disclosure has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the appended claims.

Claims (20)

What is claimed is:
1. A method in an electronic device, the method comprising:
detecting a URL from contents;
analyzing the detected URL; and
displaying the analyzed result.
2. The method of claim 1, wherein the detection of the URL from the contents comprises verifying whether at least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://” is included in the URL.
3. The method of claim 1, wherein the analysis of the URL comprises verifying whether the URL is harmful using a harmful site database stored in a memory or a server.
4. The method of claim 1, further comprising verifying whether the URL is redirected based on an ACK message to a URL connection request.
5. The method of claim 4, wherein the analysis of the URL comprises analyzing the redirected final URL.
6. The method of claim 1, wherein the analysis of the URL comprises verifying whether a file download is linked to the URL.
7. The method of claim 6, further comprising temporarily downloading the file and verifying at least one of a name, a type, a capacity, a made date, and a corrected date of the file.
8. The method of claim 6, further comprising verifying whether the file is an installable file.
9. The method of claim 8, further comprising verifying an authority requested when installing the file.
10. The method of claim 9, wherein the verification of the authority requested when installing the file comprises temporarily installing the file and verifying the authority requested when installing the file.
11. An electronic device comprising:
a display; and
at least one processor operatively coupled to the display, the at least one processor configured to:
detect a URL from contents;
analyze the detected URL; and
display the analyzed result.
12. The electronic device of claim 11, wherein the at least one processor is configured to verify whether at least one of “http://”, “https://”, “ftp://”, “irc://”, “gopher://”, telnet://, “nntp://”, and “worldwind://” is included in the URL to detect the URL from the contents.
13. The electronic device of claim 11, wherein the at least one processor is configured to verify whether the URL is harmful based on a harmful site database stored in at least one memory of the electronic device or a server.
14. The electronic device of claim 11, wherein the at least one processor is configured to verify whether the URL is redirected using an ACK message to a URL connection request.
15. The electronic device of claim 14, wherein the at least one processor is configured to analyze the redirected final URL.
16. The electronic device of claim 11, wherein the at least one processor is configured to verify whether a file download is linked to the URL.
17. The electronic device of claim 16, wherein the at least one processor is configured to temporarily download the file to the at least one memory of the electronic device and verify at least one of a name, a type, a capacity, a made date, and a corrected date of the file.
18. The electronic device of claim 16, wherein the at least one processor is configured to verify whether the file is an installable file.
19. The electronic device of claim 18, wherein the at least one processor is configured to verify an authority requested when installing the file.
20. The electronic device of claim 19, wherein the at least one processor is configured to temporarily install the file and verify the authority requested when installing the file.
US14/484,216 2013-09-11 2014-09-11 Method for url analysis and electronic device thereof Abandoned US20150074816A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/209,774 US11522870B2 (en) 2013-09-11 2018-12-04 Method for URL analysis and electronic device thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130109099A KR102131943B1 (en) 2013-09-11 2013-09-11 Method for controlling an url and an electronic device
KR10-2013-0109099 2013-09-11

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/209,774 Continuation US11522870B2 (en) 2013-09-11 2018-12-04 Method for URL analysis and electronic device thereof

Publications (1)

Publication Number Publication Date
US20150074816A1 true US20150074816A1 (en) 2015-03-12

Family

ID=52626905

Family Applications (2)

Application Number Title Priority Date Filing Date
US14/484,216 Abandoned US20150074816A1 (en) 2013-09-11 2014-09-11 Method for url analysis and electronic device thereof
US16/209,774 Active 2036-03-22 US11522870B2 (en) 2013-09-11 2018-12-04 Method for URL analysis and electronic device thereof

Family Applications After (1)

Application Number Title Priority Date Filing Date
US16/209,774 Active 2036-03-22 US11522870B2 (en) 2013-09-11 2018-12-04 Method for URL analysis and electronic device thereof

Country Status (2)

Country Link
US (2) US20150074816A1 (en)
KR (1) KR102131943B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106993212A (en) * 2017-03-20 2017-07-28 贵阳朗玛信息技术股份有限公司 The method and device of multi-channel video is played in browser window

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040260939A1 (en) * 2003-03-31 2004-12-23 Yuichi Ichikawa Communication device, control method of communication device, program and communication method
US20060253584A1 (en) * 2005-05-03 2006-11-09 Dixon Christopher J Reputation of an entity associated with a content item
US20060253581A1 (en) * 2005-05-03 2006-11-09 Dixon Christopher J Indicating website reputations during website manipulation of user information
US20080178096A1 (en) * 2001-05-11 2008-07-24 Rika Kusuda Collaborative chat system
US20090300012A1 (en) * 2008-05-28 2009-12-03 Barracuda Inc. Multilevel intent analysis method for email filtration
US20100332593A1 (en) * 2009-06-29 2010-12-30 Igor Barash Systems and methods for operating an anti-malware network on a cloud computing platform
US7908658B1 (en) * 2008-03-17 2011-03-15 Trend Micro Incorporated System using IM screener in a client computer to monitor bad reputation web sites in outgoing messages to prevent propagation of IM attacks
US20110191849A1 (en) * 2010-02-02 2011-08-04 Shankar Jayaraman System and method for risk rating and detecting redirection activities
US20110218958A1 (en) * 2010-03-08 2011-09-08 Salesforce.Com, Inc. System, method and computer program product for performing one or more actions utilizing a uniform resource locator
US20120304292A1 (en) * 2011-05-27 2012-11-29 Alibaba Group Holding Limited External link processing
US20120324568A1 (en) * 2011-06-14 2012-12-20 Lookout, Inc., A California Corporation Mobile web protection
US20130055401A1 (en) * 2011-08-24 2013-02-28 Pantech Co., Ltd. Terminal and method for providing risk of application using the same
US20130122861A1 (en) * 2011-11-11 2013-05-16 Electronics And Telecommunications Research Institute System and method for verifying apps for smart phone
CN103150341A (en) * 2013-02-05 2013-06-12 珠海市君天电子科技有限公司 Method and system for managing files downloaded by users
US20140137250A1 (en) * 2012-11-09 2014-05-15 Korea Internet & Security Agency System and method for detecting final distribution site and landing site of malicious code
US8789177B1 (en) * 2011-04-11 2014-07-22 Symantec Corporation Method and system for automatically obtaining web page content in the presence of redirects
KR20140125691A (en) * 2013-04-19 2014-10-29 인포뱅크 주식회사 Recording Medium, Wireless Terminal Device and Message Processing Method
US20150011186A1 (en) * 2013-07-05 2015-01-08 Electronics And Telecommunications Research Institute Method and apparatus for detecting sms-based malware
US9202049B1 (en) * 2010-06-21 2015-12-01 Pulse Secure, Llc Detecting malware on mobile devices

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421498B2 (en) 2003-08-25 2008-09-02 Microsoft Corporation Method and system for URL based filtering of electronic communications and web pages
US9106694B2 (en) * 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8037527B2 (en) * 2004-11-08 2011-10-11 Bt Web Solutions, Llc Method and apparatus for look-ahead security scanning
KR20070006559A (en) * 2005-07-07 2007-01-11 (주)화이트코어 Method of anti-phishing
KR20070045900A (en) 2006-07-18 2007-05-02 삼성전자주식회사 Method for information analysing and operating in wireless terminal
KR100991100B1 (en) 2008-10-10 2010-11-01 엘지전자 주식회사 Method Of Transmitting And Receiving Internet Address In Mobile Communication Terminal and Cell Phone
US8862699B2 (en) 2009-12-14 2014-10-14 Microsoft Corporation Reputation based redirection service
US8381276B2 (en) 2010-08-23 2013-02-19 Microsoft Corporation Safe URL shortening

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080178096A1 (en) * 2001-05-11 2008-07-24 Rika Kusuda Collaborative chat system
US20040260939A1 (en) * 2003-03-31 2004-12-23 Yuichi Ichikawa Communication device, control method of communication device, program and communication method
US20060253584A1 (en) * 2005-05-03 2006-11-09 Dixon Christopher J Reputation of an entity associated with a content item
US20060253581A1 (en) * 2005-05-03 2006-11-09 Dixon Christopher J Indicating website reputations during website manipulation of user information
US7908658B1 (en) * 2008-03-17 2011-03-15 Trend Micro Incorporated System using IM screener in a client computer to monitor bad reputation web sites in outgoing messages to prevent propagation of IM attacks
US20090300012A1 (en) * 2008-05-28 2009-12-03 Barracuda Inc. Multilevel intent analysis method for email filtration
US20100332593A1 (en) * 2009-06-29 2010-12-30 Igor Barash Systems and methods for operating an anti-malware network on a cloud computing platform
US20110191849A1 (en) * 2010-02-02 2011-08-04 Shankar Jayaraman System and method for risk rating and detecting redirection activities
US20110218958A1 (en) * 2010-03-08 2011-09-08 Salesforce.Com, Inc. System, method and computer program product for performing one or more actions utilizing a uniform resource locator
US9202049B1 (en) * 2010-06-21 2015-12-01 Pulse Secure, Llc Detecting malware on mobile devices
US8789177B1 (en) * 2011-04-11 2014-07-22 Symantec Corporation Method and system for automatically obtaining web page content in the presence of redirects
US20120304292A1 (en) * 2011-05-27 2012-11-29 Alibaba Group Holding Limited External link processing
US20120324568A1 (en) * 2011-06-14 2012-12-20 Lookout, Inc., A California Corporation Mobile web protection
US20130055401A1 (en) * 2011-08-24 2013-02-28 Pantech Co., Ltd. Terminal and method for providing risk of application using the same
US20130122861A1 (en) * 2011-11-11 2013-05-16 Electronics And Telecommunications Research Institute System and method for verifying apps for smart phone
US20140137250A1 (en) * 2012-11-09 2014-05-15 Korea Internet & Security Agency System and method for detecting final distribution site and landing site of malicious code
CN103150341A (en) * 2013-02-05 2013-06-12 珠海市君天电子科技有限公司 Method and system for managing files downloaded by users
KR20140125691A (en) * 2013-04-19 2014-10-29 인포뱅크 주식회사 Recording Medium, Wireless Terminal Device and Message Processing Method
US20150011186A1 (en) * 2013-07-05 2015-01-08 Electronics And Telecommunications Research Institute Method and apparatus for detecting sms-based malware

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"firefox and IE addon support_WOT (Web of Trust)", Oct. 13, 2011, obtained online <http://web.archive.org/web/20111013191514/http://www.mywot.com/en/support/tour>, obtained on Oct. 24, 2016 *
Lync Server 2013. "Configuring file transfer and URL filtering for instant messaging (IM) in Lync Server 2013." 11/01/2012. Pages 1-4. https://technet.microsoft.com/en-us/library/gg520952(d=printer,v=ocs.15).aspx *
Spurlock, Byran. What's New in Lync Server 2013. 04/17/2013. Pages 1-8. http://windowsitpro.com/lync/whats-new-lync-server-2013 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106993212A (en) * 2017-03-20 2017-07-28 贵阳朗玛信息技术股份有限公司 The method and device of multi-channel video is played in browser window

Also Published As

Publication number Publication date
KR20150029973A (en) 2015-03-19
US11522870B2 (en) 2022-12-06
KR102131943B1 (en) 2020-07-08
US20190109862A1 (en) 2019-04-11

Similar Documents

Publication Publication Date Title
US11800004B2 (en) Executing applications in conjunction with other devices
KR102076280B1 (en) Method and apparatus for performing communication of electronic device in mobile communicatino system
US20150160976A1 (en) Multitasking method and electronic device therefor
US20150130705A1 (en) Method for determining location of content and an electronic device
US10104538B2 (en) Apparatus and method for providing a mobile device management service
KR102206351B1 (en) Electronic device and method for making continuity of operated work thereof
KR102107132B1 (en) Access point connection method of electronic apparatus and electronic appparatus thereof
US9538248B2 (en) Method for sharing broadcast channel information and electronic device thereof
US10999501B2 (en) Electronic device and method for controlling display of panorama image
US11030143B2 (en) System for sharing content between electronic devices, and content sharing method for electronic device
US20160007084A1 (en) Method and apparatus for sharing data of electronic device
KR102190436B1 (en) Electronic device and method for transceiving data
US20150062096A1 (en) Method for display control and electronic device thereof
US9948732B2 (en) Method for providing status messaging service in electronic device and the electronic device thereof
US20150065202A1 (en) Electronic device including openable cover and method of operating the same
US10284614B2 (en) Method for downloading contents of electronic device and electronic device thereof
KR102161443B1 (en) Discovering and controlling method and apparatus of controllee in a smart home system
KR102140294B1 (en) Advertising method of electronic apparatus and electronic apparatus thereof
KR102241831B1 (en) Electronic device and operating method thereof
US20150052145A1 (en) Electronic device and method capable of searching application
US11522870B2 (en) Method for URL analysis and electronic device thereof
KR102246270B1 (en) Electronic device and interconnecting method thereof
KR102285072B1 (en) Apparatus and method for interworking among electronic devices
US10218197B2 (en) Electronic device and method for utilizing plurality of charging circuits
KR102170520B1 (en) Apparatas and method for improving a loading time in an electronic device

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD, KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SON, DONG-IL;KIM, HYUN-JUNG;LEE, SUN-KEE;AND OTHERS;REEL/FRAME:033725/0744

Effective date: 20140911

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION